前端野蠻生長的時代已通過去了。隨着前端的發展,愈來愈複雜的業務,各類各樣的插件模塊依賴關係,項目複雜度的提高,開發成本愈來愈高。webpack就是解決了這一系列的問題。你能夠利用webpack管理各類資源,也能夠提早享受es6語法的便利,也能夠規範成員之間的開發規範,等等。
關於wepback配置說明,不少同窗都已經分享過不少了,此次分享一下能夠直接使用一份webpack項目html
目前暫時不支持vue,react前端
yarn add jay-webpack-scaffold
cp ./node_modules/jay-webpack-scaffold/webpack/config.dist.js ./webpack-config.js
根據需求調整相應目錄vue
entry: 須要編譯輸出的js 根路徑 output: 輸出的路徑 mainJs: 全局使用的js文件路徑 lessPath: 須要編譯輸出的less 根路徑,該目錄下,都會被編譯輸出 publicPath: 開發環境下,使用路徑 author: 做者名稱 removePattern: 不須要被輸出的文件路徑 正則表達式,例如 /^\/css\/.*\.js?$/,表示css目錄下的全部js文件都不輸出(當less做爲入口文件時,會輸出js文件) purifyCssPaths: 被使用到css的全部文件地址,如html頁面和js,它會過濾除了這些被使用的css樣式 copyLibs: 須要拷貝的類庫,能夠拷貝目錄,也能夠拷貝單獨文件 alias: 引用別名,加快編譯速度 libs: js類庫目錄,每一個文件都會單獨輸出,能夠對已有的類庫模塊封裝輸出
./node_modules/.bin/eslint --init
修復js代碼格式html5
./node_modules/.bin/eslint --fix filepath
規則列表:https://eslint.org/docs/rules/node
項目根目錄 .stylelintrcreact
{ "extends": "stylelint-config-standard" }
忽略文件配置 .stylelintignore
規則列表:https://stylelint.io/user-gui...webpack
規範:git
"scripts": { "build": "NODE_ENV=production settingPath='/webpack-config.js' webpack --config '/node_modules/jay-webpack-scaffold/webpack/webpack.js'", "dev": "NODE_ENV=development settingPath='webpack-config.js' webpack-dev-server --config '/node_modules/jay-webpack-scaffold/webpack/webpack.js'", }
你也能夠這樣使用
webpack.config.jses6
const webpackConfig = require('jay-webpack-scaffold'); module.exports = webpackConfig; // 能夠自主配置loadeer,plugin,及其餘參數
package.json
"scripts": { "build": "NODE_ENV=production settingPath='/webpack-config.js' webpack --config 'webpack.config.js'", "dev": "NODE_ENV=development settingPath='webpack-config.js' webpack-dev-server --config 'webpack.config.js'", }
本地開發環境執行如下命令:
npm run dev
它將會文件生成好,放入內存中。自動監聽文件變化
<br/>
生產環境執行如下命令:
npm run build
它將會生產靜態資源文件到你定義的目錄下
location ~ ^/dist { if (-f $root_dir/dev.lock){ proxy_pass http://127.0.0.1:8082; } }
任何/dist/* 的請求,都會代理到http://127.0.0.1:8082,根據不一樣需求相應配置
lsof -i:8082 (查看佔用端口進程) kill -9 PID (pid 爲進程id號)