乐趣区

关于前端:moduleexports-和-exports-export-defult-和-export-之间的区别

module.exports 和 exports , export defult 和 export 之间的区别!!!

首选理解一下 Commonjs 模块标准 和 ES6 模块标准

  1. Commonjs 模块标准

    • Node 利用是由模块形成的,采纳的是 Commonjs 标准。
    • Commonjs 标准 => 每个文件就是一个模块,每个模块都有本人的作用域,文件外面的变量、函数等都是公有的,对外不可见的。
    • module就是代表这个模块,exports就是对外的接口,加载模块,就是加载 module.exports 属性。exports 其实也是module.exports, 相当于在模块上增加 const exports = module.exports
    • 应用 require 进行导入模块

      module.exports = xxx
      export.xxx = xxx
    • 留神:对于类的到处要应用module.exports = xxx 不能应用export.xxx
  2. ES6 模块

    • 在创立 js 文件的时候,export语句用于从文件(模块)中,导出实时绑定的函数、对象或者是值。
    • 导出的形式

      • 默认导出

        export defult xxx // 导出变量
        export defult function // 导出 函数
        export defult Class // 导出 类
      • 命名导出

        export {xxx}
    • 导入

      • 导入的时候,如果是默认导入,

        import {xxx} from '..'
        import {xx as xxx} from '..'
      • 留神:默认导出的话,在导入的时候引入的变量名,能够不雷同

        //x.js
        export defult let a = 3
        // y.js
        import {b} from './x.js'
        console.log(b) // 3
退出移动版