ES6 中(Vue)导入和导出

1.先定义后导出:

index.html如下

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
//type="module" 表示每一个文件以模块化的思想
//并且只有在type="module"时才支持一下例子中的导入导出语法
<script src="aaa.js" type="module"></script>
<script src="bbb.js" type="module"></script>
<script src="mmm.js" type="module"></script>
</body>
</html>

aaa.js如下

var name = '小明'
var age = 18
var flag = true

function sum(num1, num2) {
  return num1 + num2
}

if (flag) {
  console.log(sum(20 , 30))
}
//以对象的方式导出
export {flag,sum}

bbb.js如下

//bbb.js想要用aaa.js中的函数
import {sum} from './aaa.js'

var name = '小红'
var flag = false

console.log(sum(100, 200));

mmm.js如下

//mmm.js想要使用aaa.js定义的变量和函数
import {flag,sum} from './aaa.js'

if (flag) {
  console.log('小明是天才哈哈哈');
  console.log(sum(20,30))
}

2.定义变量同时导出:
aaa.js如下

//var name = '小明'
//var age = 18
//var flag = true

//function sum(num1, num2) {
//  return num1 + num2
//}

//if (flag) {
//  console.log(sum(20 , 30))
//}

//1.导出方式一:
//export {flag,sum}

//2.导出方式二:
//定义变量的同时导出
export var num1 = 1000;
export var height = 1.88;

mmm.js如下

//import {flag,sum} from './aaa.js'
import {num1,height} from "./aaa.js";

//if (flag) {
//  console.log('小明是天才哈哈哈');
//  console.log(sum(20,30))
//}

console.log(num1)
console.log(height);

3.定义函数\类同时导出:
aaa.js如下

//var name = '小明'
//var age = 18
//var flag = true

//function sum(num1, num2) {
//  return num1 + num2
//}

//if (flag) {
//  console.log(sum(20 , 30))
//}

//1.导出方式一:
//export {flag,sum}

//2.导出方式二:
//定义变量的同时导出
//export var num1 = 1000;
//export var height = 1.88;

//3.导出函数/类
export function mul(num1, num2) {
  return num1 * num2
}

//es5 定义类的方式
export function Teacher(name, age) {
  this.name = name
  this.age = age
  this.sayHi = function () {
    console.log('大家好,我叫'+this.name+',今年'+this.age)
  }
}

//es6 定义类的方式
export class Persion {
  //构造方法
  constructor(name, age) {
    this.name = name
    this.age = age
  }
  //普通方法
  run() {
    console.log(this.name+'在奔跑'+this.age)
  }
}

mmm.js如下

//import {flag,sum} from './aaa.js'
//import {num1,height} from "./aaa.js";
import {mul,Teacher,Persion} from "./aaa.js";

//if (flag) {
//  console.log('小明是天才哈哈哈');
//  console.log(sum(20,30))
//}

//console.log(num1)
//console.log(height);

console.log(mul(30,50))
const t = new Teacher('小农老师', 20)
t.sayHi()
const p = new Persion('小农同学', 20);
p.run()

4.export default默认导出/默认导入:
export default在同一个模块中,不允许同时存在多个!!
aaa.js如下

//var name = '小明'
//var age = 18
//var flag = true

//function sum(num1, num2) {
//  return num1 + num2
//}

//if (flag) {
//  console.log(sum(20 , 30))
//}

//1.导出方式一:
//export {flag,sum}

//2.导出方式二:
//定义变量的同时导出
//export var num1 = 1000;
//export var height = 1.88;

//3.导出函数/类
//export function mul(num1, num2) {
//  return num1 * num2
//}

//es5 定义类的方式
//export function Teacher(name, age) {
//  this.name = name
//  this.age = age
//  this.sayHi = function () {
//    console.log('大家好,我叫'+this.name+',今年'+this.age)
//  }
//}

//es6 定义类的方式
//export class Persion {
  //构造方法
//  constructor(name, age) {
//    this.name = name
//    this.age = age
//  }
  //普通方法
//  run() {
//    console.log(this.name+'在奔跑'+this.age)
//  }

//4.export default 表示导出时不命名 引入方自己决定叫啥。
const address = '北京市'
export default address

}

mmm.js如下

//import {flag,sum} from './aaa.js'
//import {num1,height} from "./aaa.js";
//import {mul,Persion} from "./aaa.js";

//不再需要{}了, 默认导入aaa.js中 export default默认导出的
//也就是说aaa.js只能有一个 export default默认导出
//不然在mmm.js默认导入时就分不清楚到底要导入哪一个
import addr from './aaa.js'

//if (flag) {
//  console.log('小明是天才哈哈哈');
//  console.log(sum(20,30))
//}

//console.log(num1)
//console.log(height);

//console.log(mul(30,50))
//const t = new Teacher('小农老师', 20)
//t.sayHi()
//const p = new Persion('小农同学', 20);
//p.run()

console.log(addr)

4.export default默认导出函数:
aaa.js如下

export default function (a) {
  console.log(a)
}

mmm.js如下

import addr from './aaa.js'
addr('你好啊')

一次性导入aaa.js
mmm.js如下 aaa.js不要做任何改变

//统一全部导入
import * as qb from './aaa.js'
console.log(qb)

游览器打印如下
在这里插入图片描述
调用如下

qb.default('哈哈哈')
console.log(qb.height);
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值