JavaScript 模块化开发规范

172 阅读1分钟

Js模块化开发规范

  1. ECMAScript Module 标准规范
    一个js文件,就可以是一个模块,模块与模块之间相互独立。
ex.js
var val = 'ex data'
//将变量导出,这样在别的js文件里可以通过引入使用这个变量及这个变量的值
//导出时,可以给变量起别名,导入时可以用别名,如下val起了别名value
export {val as value}
//只有一个变量可以默认导出
//export default val
im.js
//导入ex模块里的变量val,这样就可以使用val这个变量了
//导入时也可以给变量起别名
import {value as vv} from './ex.js'
//如果是默认导出可以不用{}包裹
//import val from './ex.js'
console.log(vv)
 Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.
 //产生错误的原因是node.js默认情况下不支持ECMAScript Module 标准规范,需要进行一下配置,可以把文件名改成ex.mjs和im.mjs。或者set "type": "module" in the package.json
package.json
{
    "type": "module"
}
  1. CommonJS 规范
导出方式
//导出单个变量
module.exports = val

//导出多个变量
module.exports.val = val
module.exports.foo = foo

//或者
exports.val = val
exports.foo = foo
导入方式
var m1 = require('./m1.js')