之前没太关注的一个是小细节,随手整理一下:
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这个属性
可以说 输出的,是一个值的拷贝
输出的是值的引用

运行时加载
可以动态引入

静态引入 编译时就引入了