zoukankan      html  css  js  c++  java
  • 面试之module和commonJS的区别

    1.module

    ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。ES6 模块不是对象,而是通过export命令显式指定输出的代码,再通过import命令输入。

    除了静态加载带来的各种好处,ES6 模块还有以下好处。

    • 不再需要UMD模块格式了,将来服务器和浏览器都会支持 ES6 模块格式。目前,通过各种工具库,其实已经做到了这一点。
    • 将来浏览器的新 API 就能用模块格式提供,不再必须做成全局变量或者navigator对象的属性。
    • 不再需要对象作为命名空间(比如Math对象),未来这些功能可以通过模块提供。

    ES6 模块之中,顶层的this指向undefined,即不应该在顶层代码使用this

    2.commonjs

    CommonJS 和 AMD 模块,都只能在运行时确定这些东西。CommonJS 模块就是对象,输入时必须查找对象属性。

    摘自阮大神https://es6.ruanyifeng.com/#docs/module

  • 相关阅读:
    二分查找
    泛型 学习
    一个时间转换的功能的类
    TCP/IP、Http、Socket的区别
    值得学习的
    popupwindow使背景变暗
    设计模式最好的学习网站
    观察者模式
    数据报的使用
    网络编程server
  • 原文地址:https://www.cnblogs.com/OnceKing1996/p/13602295.html
Copyright © 2011-2022 走看看