去年 8月份 開始接觸 react,而後開始使用 webpack 。css
通過 幾個月的摸索,加上參考一些 github 上別人的代碼,整理了一個本身 用着還算舒服的,而且目錄優雅的 webpack 前端開發架構。html
歡迎 star ,互相學習
https://github.com/qilei0529/...前端
剛學react 的時候是想找一個方便 新建一個 react 開發環境。
找到了一個 叫 create-react-app 的 工具,特別好用。
GitHub - create-react-appvue
她有我須要的大部分功能,不過想本身修改點東西的時候比較麻煩,由於她是一個npm 包。因而就有了相似的想法。react
後來 在接觸 vuex 官方 代碼 example 的時候,找到了一些靈光一現的寫法。webpack
發現 vuex 的webpack 寫法相對於 create-react-app ,解決了一些的問題,如:es6
目錄更加優雅 - 打包的腳本文件都在一個叫build 的目錄下,我我的是個比較代碼潔癖的人。github
根據不一樣環境 有不一樣的 webpack.configweb
多項目輸出
我須要的 react + webpack 開發環境 的基本功能有
支持 es6 語法
重載,熱加載功能
stylus
多項目支持
樣式分離
打包
固然後期 還想加入一些 其餘功能
單元測試 - 相似 e2e
代碼評分 - 檢查代碼質量
由於有的時候 一個環境裏有多個項目,而且但願不用改 webpack 配置文件,根據目錄自動添加項目
這個特性 參考了一下 上面 vuex -webpack 裏的寫法,
實現原理是 遍歷 目錄下的文件夾,若是文件夾下面含有 app.js 存在,就新建一個跟目錄名同樣的打包輸出文件,相似一個項目,這樣作的好處是,新增項目的時候,不須要再修改 webpack.config 文件了。是否是很是方便? ?
看到好多webpack 項目 都是直接把樣式 打包在js裏,說實話我有點不太喜歡這樣,雖說這樣少個請求,但總以爲不夠優雅。
強迫症吧,找了一個 webpack 插件,把樣式 根據項目名分離出來,用的時候引用同名 樣式就能夠了。很是好用。
我沒有作css mudules ,這個能夠根據本身喜歡來添加,很是簡單。
我目前所處的公司,發佈是這樣的,把現有項目 打包壓縮到一個 叫 release 目錄,固然還須要通過各類 混淆,路徑替換。
最後 將 release 包壓縮成 tar 包,進行發佈。
我使用gulp 來打包,打包功能有:
引用文件 hash ( 把文件名 hash 掉 )
css min prefix ( css 壓縮)
html combo useref( 合併引用文件)
replace map ( 相對路徑替換成絕對路徑 )
打包完後: 能夠直接在 打包目錄運行html 查看 打包是否成功。
git clone 一下代碼 npm install npm run dev npm run clean npm run build:webpack npm run build:gulp
歡迎交流