之前没太关注的一个是小细节,随手整理一下: require/exports import/export require是Commonjs的规范 遵从commonjs的规范 import是es6为js模块化提出的新的语法 import (导入)要与export(导出)结合使用 function test (args) { // body... console.log(args); } module.exports = { test}; let { test } = require('./a.js'); test('this is a test.'); export function test (args) { // body... console.log(args); } // 默认导出模块,一个文件中只能定义一个export default function() {...}; export const name = "lyn"; // _代表引入的export default的内容import _, { test, name } from './a.js'; test(`my name is ${name}`); 本质上,是将要导出的对象,赋值给module这个对象的exports属性,在其他文件中通过require这个方法来访问exports这个属性 可以说 输出的,是一个值的拷贝 输出的是值的引用 运行时加载 可以动态引入 静态引入 编译时就引入了