commonJS 和 es6規範 的引入導出

index.js中定義:es6

var info = { name = 'sisi' };

1.定義變量的時候,不要用object變量名,有可能出現未知的錯誤。測試

2.輸出用export {info}的時候,引入須用 import {info} from index.js 的形式,不可省略大括號。ui

3.輸出用export{info as vm}的形式時,引入不能再用info這個接口了,只能用vm這個接口,即code

import {vm} from index.js

4.重點:輸出採用module.exports = info的時候,引入info也能夠採用import.接口

import info from index.js

不可採用io

import {info} from index.js

換句話說,CommanJS規範中的輸出,也能夠採用es6規範中的輸入來引入。console

固然,這種狀況使用function

var info = require('index.js');

也是正確的。import

5.與上面第四條做對比,若是輸出採用es6的export 。即 export {info} ; 或者 export default info;則模塊引入info必須採用import,採用require行不通。require

6.使用export輸出的時候,引入必需要有{},例如demo.js

export const str = 'sisi';

export function func(){
   console.log('sisi');
}

引入的時候要用

import {str} from 'demo';
或
import {str, func} from 'demo';

不可以使用

import str from 'demo';

可是使用

export default const str = 'sisi';

輸出的時候
引入能夠使用

import str from 'demo';

由於一個文件或者模塊中只能有一個export default

以上結論均通過測試。

相關文章
相關標籤/搜索