背景
職能組有幾個項(xiàng)目都是用同樣的前端技術(shù)棧昧互,部分相同業(yè)務(wù)功能的可以抽取出來作為統(tǒng)一維護(hù)的模塊使用。
訴求
- 使用 ES6 來編寫伟桅。
- 運(yùn)行于瀏覽器/webview上敞掘,需要兼容 ES5 。
組織
構(gòu)建
模塊源碼 -> Babel -> 發(fā)布 -> 本地NPM
發(fā)布
修改 main 入口
{
"main": "./distribution/index.js",
"scripts": {
"build": ...
}
}
告訴 npm 忽略文件
配置 .npmignore
楣铁。一般我們忽略 src 目錄玖雁。
需要注意的是,如果沒有配置 .npmignore盖腕,npm 會使用 .gitignore
發(fā)布
編寫 package.json 腳本赫冬,如:
"scripts": {
"build": "babel-cli --preset xxx",
"prepublish": "npm run build"
}
然后發(fā)布:
npm publish ./
其他
- 使用 jest、chai溃列、mocha 等來編寫單元測試劲厌。
- 發(fā)布到 npm,指向 GitHub听隐,配置 Webhooks补鼻、Integrations 和 Services。