首先export default'和export均可用于导出常量,函数,文件,模块等,
// until.js
var name = "boy";
var getName =function(name){
console.log(name);
}
export {name,getName};
// 在大括号中添加name,getName变量,在通过export输出,就可以将对应的变量值以name,getName变量标识符形式暴露给其他的文件而被读取到
//不能直接写成export name 这样的形式,如果这样就相当于直接export "boy"了,外部文件就无法读取到文件内部的name的值
上面也可以换另一种的写法输出变量
export var name = 'boy';
export function getName(name){
console.log(name)
}
// 在大括号中添加name,getName变量,在通过export输出,就可以将对应的变量值以name,getName变量标识符形式暴露给其他的文件而被读取到
//不能直接写成export name 这样的形式,如果这样就相当于直接export "boy"了,外部文件就无法读取到文件内部的name的值
上面也可以换另一种的写法输出变量
export var name = 'boy';
export function getName(name){
console.log(name)
}
import obj from './until.js'
import obj1 from './until.js'
// export default 输出一个叫做default 的变量,然后系统可以允许你为它取任意名字,所以可以为import的模块取任何变量名,且不需要大括号。
例如:
1.在a.js使用export导出两个方法isString和isObject,在b.js使用import导入时的写法:import { isString, isObject } from "./a.js",在使用import导入的时候一定要大括号,导入之后在b.js便可以直接调用这两个方法,调用时这样写isObject(obg);一定要加括号
let isString = function (obj) {
return judgeType(obj, '[object String]');
}
function isObject(obj) {
return judgeType(obj, '[object Object]');
}
export {
isString,
isObject
}
通过export方式导出,在导入时要加{ },export default则不需要
在a.js里面定义方法并使用export default导出
let test=function (){
console.log("test");
};
export default test;
在b.js里面通过import导入import test from "./assets/js/chat.js",注意此时导入不需要加{}
最后简单说明一下,
1 使用export导出需要{},与此相对使用import导入也需要{}
2 使用export default 导出不需要{},与此相对使用import导入也不需要{}