关于前端: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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理