es6导入导出和模块化导入导出的区别
es6 :
1-暴露: export 和 export default
+ 文件暴露 或者 文件导出
- export
- 可以暴露多次 【即可以使用多次】
PS : export const qq=()=>{}
- export default
- 一个js文件只能只能出现一次
PS : export defaulr {aa:111}
2-导入: import
- 使用 export 暴露 来导入
+ 导入需要使用 {}
+ 名字不能直接更改,若需要更改可以使用 as关键字
PS : import {qq} from '路径'
import {qq as bb} from '路径'
- 使用 export default 暴露 来导入
+ 名字可以自定义
+ 不需要添加 {} 还是导入qq ==名字换成cc
PS : import cc from '路径'
module块话暴露导入导出 一般适用于node中 即:commonJS规范
exports && module.exports
1.module.exports
例:example.js
暴露:
var x = 5;
module.exports.x = x;
module.exports.Name="我是电脑";
module.exports.Say=function(){
console.log("我可以干任何事情");
}
2.exports
//导出变量
export const a = '100';
//导出方法
export const dogSay = function(){
console.log('wang wang');
}
//导出方法第二种
function catSay(){
console.log('miao miao');
}
export { catSay };
3.导入
导入:
var example = require("./example.js");
example.x //这个值是 5
example.Name //这个值是 "我是电脑"
example.Say() //这个是直接调用Say方法,打印出来 "我可以干任何事情"
require导出的内容是module.exports的指向的内存块内容,并不是exports的。
简而言之,区分他们之间的区别就是 exports 只是 module.exports的引用,
辅助后者添加内容用的。为了避免糊涂,尽量都用 module.exports 导出,然后用require导入。
请登录后查看回复内容