1.导入导出语法的使用范围
require: node和es6都支持的引入
export / import: 只有es6支持的导出、引入
module.exports / exports :只有node支持的导出
2.Node模块
Node模块遵循的是CommonJS规范。
CommonJSexports、modules.exports: 在node执行一个文件的时候,会给这个文件生成两个对象module和exports。而modules对象有一个exports的属性。内存关系如图:
指向图require引入的内容其实是module.exports指向的内存块内容,并不是exports的,虽然node在执行文件的时候会把两个变量都指向一样的内存块,但是手动修改了,就不一样了。
所以exports得作用就是辅助module.exports添加内容用的。"我exports辛辛苦苦把数据都操作完了,结果require的是module.exports的数据。我不高兴!"
但是还是推荐用module.exports导出。require引入。
3.ES中的模块引入与导出
export 和export default :
1.均可用于导出常量、函数、文件、模块等。
2.一个文件中,可以有多个export和import。但是只能有一个export default
3.通过export方式导出,要在导入时加{ } // import { name } from "/.a.js"
4.export 能直接导出变量表达式,export drfault不行
4.原文链接:https://segmentfault.com/a/1190000010426778
感谢!!!
网友评论