1. 程式人生 > >ES6 思考學習記錄(一)

ES6 思考學習記錄(一)

1.ES模組化如何使用,開發環境如何打包?

  1. 使用-> 語法是怎麼樣的。
  2. 開發環境-> webpack,rollup...

語法:在export裡面分為export defalut 和export ,export default 就是預設輸出的意思,一個檔案只有一個export default,但是可以有多個export ,在import 時 如果為export default 就不需要加大括號,但是如果是 export  需要加上大括號。

開發環境:將模組化打包的工具有webpack,rollup等,其中webpack比較普遍,他的功能也比較豐富,然後rollup他是屬於功能比較單一的,但是比較強大,在對比bundle.js裡面的輸出可以發現,webpack他編譯出來上面會一段他自帶的東西,然後像rollup他就只有一段umd相關的,以及下面都會較好地保留你的程式碼,方便你去做除錯。同時 rollup會比webpack 打包出的檔案小很多。無論採用哪個工具進行打包,都需要用到babel來進行編譯轉化,將當前的ES6的語法轉化為瀏覽器可以使用的ES5,或者ES4的語法。 

展望:JS的模組化標準從很早以前的遠古時期是沒有標準,到後來的AMD成為標準,require.js是他的標準,也有CMD的標準,但現在CMD使用的比較少了,到打包工具的出現,ES6的出現,統一的模組化標準,現在的瀏覽器都還沒有對ES6支援較好,因此都需要用打包工具將其打包成可以使用的ES5。對於標準,我們可以選擇去造一個LIB,但不要自造一個標準。

util1.js

export default {
    a: 100
}

util2.js

export function fn1() {
    console.log('fn1')
}

export function fn2() {
    console.log('fn2')
}

index.js

import util1 from './util1.js'
import {fn1, fn2} from './util2.js'

console.log(util1.a)
fn1()
fn2()