export 和 import 都属于 ES6 的内容。

node 的 module 遵循的是 CommonJS规范,requirejs遵循AMD,seajs遵循CMD,虽各有不同,

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

但总之还是希望保持较为统一的代码风格。

 

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)

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄