NPM 組件你應(yīng)該知道的事
開發(fā)一個(gè) npm 組件, 你是否了解需要對(duì)外導(dǎo)出什么格式的代碼?如何讓 npm 組件體積盡可能小?
整篇文章按照如下目錄進(jìn)行講解:
為何需要打包 組件打包輸出格式 如何打包 esm 模式代碼(感興趣選讀) 減少組件打包體積的最佳實(shí)踐
為何需要打包
首先,這里的打包概念解釋一下, 只要有輸出到新目錄,就稱為打包(免得大家對(duì)打包理解概念不一致)。
一份代碼,多種消費(fèi)方式 使用新特性語(yǔ)法,由于一般項(xiàng)目中,會(huì)默認(rèn)不對(duì) node_module 中的庫(kù)進(jìn)行編譯以提高整個(gè)項(xiàng)目的編譯速度,所以作為 npm 包,要轉(zhuǎn)換成 es5 ,免得消費(fèi)方吐槽……
打包格式
按照目前主流的模塊系統(tǒng)來(lái)區(qū)分,可以先看一張圖片宏觀了解一下:
esm
如果是用 npm 組件來(lái)使用, 都推薦使用這種導(dǎo)出模式。
產(chǎn)生方式:
rollup 聲明 target 為 esm 或者 babel 編譯之后生成一個(gè)新的目錄 (iceworks 的做法) package.json 中聲明 module,指向 esm
使用方式:
瀏覽器通過(guò) 国产精品国内自产拍 | 久久精品国产亚洲AV无码偷窥 | 99精品热视频 | 超碰乱| 欧美三级片视频网站 |
