1. 语法
1.1 ES Module
导出:export / export default
导入: import * from 'module'
1.2 Commonjs
导出:module.exports
导入:const module = require('module')
2. 特性
2.1 ES Module
静态引入、编译时引入(支持Tree shaking)
// lib.mjs export let a = 1 export const b = 2 export function aPlus1 () { return a++ }View Code
// index.mjs import { a, aPlus1 } from './lib.mjs' console.log(a) // 1 aPlus1() console.log(a) // ?View Code
// package.json - 新版本node支持执行ES Mdolue,不过要加上这个配置,且文件后缀要为mjs { "type": "module" }View Code
2.2 Commonjs
动态引入、执行时引入
// lib.js let a = 1 let b = 2 function aPlus1 () { return a++ } module.exports = { a, b, aPlus1 }View Code
// index.js let { a, aPlus1 } = require ('./lib.js') console.log(a) // 1 aPlus1() console.log(a) // ?View Code