commonjs和esmodule的导入导出区别

commonjs

1.用法:
module.exports = {}
或exports xxx,本质上exports是module.exports的引用,实际上导出的是module.exports
require()
2. 时期:运行时导入
3. 导出的值:是拷贝对象或值

esmodule

  1. 用法:
    导入:import(),导入的是const常量,不能改变其值
    导出:export xxx/export default xx,不论是值还是对象,都是导出它的引用,所以如果是基本类型值,导入的也会跟着变
  2. 导入时期:编译时会提升优先级,将其放到最上方执行。编译时期导入,找到一个就递归执行该文件
  3. 导出的值:是值的引用

你可能感兴趣的:(前端,javascript,vue.js)