[TOC]node
Sea.jses6
上面兩種瀏覽器端的模塊化規範已經落伍了!github
在ES6模塊化規範誕生以前,Javascript 社區已經嘗試並提出了AMD、CMD、CommonJs 等模塊化規範。 可是,這些社區提出的模塊化標準,仍是存在必定的差別性 與侷限性、並非瀏覽器與服務器通用的模塊化標準,例如:npm
AMD和CMD適用於瀏覽器端的Javascript 模塊化json
CommonJs適用於服務器端的Javascript 模塊化瀏覽器
所以,ES6語法規範中,在語言層面上定義了ES6模塊化規範,是瀏覽器端與服務器端通用的模塊化開發規範。服務器
====babel
舒適提醒:你再執行上面的代碼的時候最好在你的工做目錄下先執行一下npm init
讓項目中出現一個package.json的初始化文件! 模塊化
// 當前文件模塊爲 m1.js // 定義私有成員 a 和 b // 外界訪問不到變量d ,由於他沒有被暴露出去 // 將本模塊中的私有成員暴露出去, 供其餘模塊使用 let a = 10 let obj = { name: '小時姑娘', age: 23 } // 默認導出的方式 export default { a, obj }
// 導入模塊成員 import m1 from XXXX[導入文件的路徑] // 路徑最好加上./否則可能會報錯! import m1 from './m1.js' console.log("lvhang") console.log(m1.a) console.log(m1.obj.name)
// 按需導出 // 當前的文件模塊爲 m1.js // 向外按需導出變量s1 export let s1 = 'aaa'; // 向外按需導出變量s2 export let s2 = 'ccc'; // 向外按需導出方法 say export function say = function() { }
// 按需導入 // 導入模塊化成員 **import { s1, s2, say } from './m1.js'** console.log(s1); console.log(s2); console.log(say);