export 和 import 都属于 ES6 的内容。
node 的 module 遵循的是 CommonJS规范,requirejs遵循AMD,seajs遵循CMD,虽各有不同,
但总之还是希望保持较为统一的代码风格。
ES6发布的 module 并没有直接采用 CommonJS,甚至连 require 都没有采用,也就是说 require
仍然只是 node 的一个私有的全局方法, module.exports 也只是 node 私有的一个全局变量属性,
跟标准半毛钱关系都没有。
export 与 export default 区别:
1. 使用export导出的话,必须使用 { } 来接收。
2. 一个文件中,可以有很多个 export, 但只能有一个 export default。
示例:
demo1.js :

export let A = 123;
export function test() {
console.log('test');
}
export class Hello {
test () {
console.log('class');
}
}

demo2.js:
import { A, test, Hello} from './demo1'
console.log(A, test, Hello);
需要哪一项,就拿哪一项,
import {A} from './demo1';
console.log(A);
导出别名
import * as lesson from './demo1'; console.log(lesson.A,lesson.test); //lesson是个对象
另外一种写法:(推荐这种写法)
demo1.js:

let A = 123;
let test = function () {
console.log('test');
}
class Hello{
test () {
console.log('class');
}
}
export default {
A,
test,
Hello
}

demo2.js:
import lesson from './demo1'; //lesson可以写任何名称 console.log(lesson.A)
1435

被折叠的 条评论
为什么被折叠?



