美文网首页
由require&import区分开始学习CommonJS规范—

由require&import区分开始学习CommonJS规范—

作者: Larissa_ | 来源:发表于2017-09-25 19:46 被阅读0次

    require&import区分?
    CommonJS中,我们用module.exports和require来导出和导入模块,而到了ES6却变成了export和import了,这两者到底有什么区别呢?
      一句话总结:CommonJS模块是运行输出(加载)一个值(或对象)的拷贝,而ES6模块则是编译时输出(加载)一个值的引用(或者叫做连接).
      这样的差异在平常使用是不易被察觉的,可是一旦出现循环引用,两者的差异就很明显了。直接的循环引用(a引用b,b又引用a)一般不会有,但在依赖关系复杂的大项目中,很容易出现a引用b,b引用其它模块,在若干次引用后,模块n又引用回a这样的情况。为了讲解的方便我们直接构造出一个a,b相互引用的项目。
    require OR importrequire OR import

    NodeJS和CommonJS之间的关系?
    CommonJS是一种规范,NodeJS是这种规范的实现。
    CommonJS规范

    为什么模块规范的设计会有不同区别
    模块规范发展历史

    相关文章

      网友评论

          本文标题:由require&import区分开始学习CommonJS规范—

          本文链接:https://www.haomeiwen.com/subject/ffhdextx.html