From bf05e1e9e1bc16383e59dca46d5ad28f289b2737 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=99=88=E5=98=89=E6=B6=B5?= Date: Wed, 9 May 2018 22:44:59 +0800 Subject: [PATCH] [Build] optimize webpack config --- .eslintignore | 2 +- build/webpack.build.js | 2 +- build/{webpack.config.dev.js => webpack.dev.js} | 7 +++---- build/{webpack.config.prod.js => webpack.doc.js} | 5 ++--- package.json | 7 +++---- test/get-webpack-conf.js | 2 +- yarn.lock | 6 ------ 7 files changed, 11 insertions(+), 20 deletions(-) rename build/{webpack.config.dev.js => webpack.dev.js} (93%) rename build/{webpack.config.prod.js => webpack.doc.js} (68%) diff --git a/.eslintignore b/.eslintignore index 4047ecb85..572364465 100644 --- a/.eslintignore +++ b/.eslintignore @@ -2,4 +2,4 @@ es/ lib/ dist/ node_modules/ -build/**/*.js + diff --git a/build/webpack.build.js b/build/webpack.build.js index d9a196d7e..a04230b65 100644 --- a/build/webpack.build.js +++ b/build/webpack.build.js @@ -1,5 +1,5 @@ const path = require('path'); -const config = require('./webpack.config.dev.js'); +const config = require('./webpack.dev.js'); const isMinify = process.argv.indexOf('-p') !== -1; module.exports = Object.assign({}, config, { diff --git a/build/webpack.config.dev.js b/build/webpack.dev.js similarity index 93% rename from build/webpack.config.dev.js rename to build/webpack.dev.js index 370c5bdcc..192a20276 100644 --- a/build/webpack.config.dev.js +++ b/build/webpack.dev.js @@ -1,8 +1,7 @@ const path = require('path'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const ProgressBarPlugin = require('progress-bar-webpack-plugin'); -const isProduction = process.env.NODE_ENV === 'production'; -const { VueLoaderPlugin } = require('vue-loader') +const { VueLoaderPlugin } = require('vue-loader'); module.exports = { mode: 'development', @@ -17,13 +16,13 @@ module.exports = { }, devServer: { host: '0.0.0.0', + stats: 'errors-only', historyApiFallback: { rewrites: [ { from: /^\/zanui\/vant\/examples/, to: '/examples.html' }, { from: /^\/zanui\/vant/, to: '/index.html' } ] - }, - stats: 'errors-only' + } }, resolve: { extensions: ['.js', '.vue', '.css'], diff --git a/build/webpack.config.prod.js b/build/webpack.doc.js similarity index 68% rename from build/webpack.config.prod.js rename to build/webpack.doc.js index 31eaa22b1..c231f9a9e 100644 --- a/build/webpack.config.prod.js +++ b/build/webpack.doc.js @@ -1,8 +1,7 @@ -const merge = require('webpack-merge'); const path = require('path'); -const devConfig = require('./webpack.config.dev.js'); +const devConfig = require('./webpack.dev.js'); -module.exports = merge(devConfig, { +module.exports = Object.assign({}, devConfig, { mode: 'production', output: { path: path.join(__dirname, '../docs/dist'), diff --git a/package.json b/package.json index fbd4f5fe0..ce46ffbd1 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,7 @@ ], "scripts": { "bootstrap": "yarn || npm i && cd ./packages/vant-css/ && yarn || npm i && cd ../../", - "dev": "npm run build:file && webpack-dev-server --inline --config build/webpack.config.dev.js", + "dev": "npm run build:file && webpack-dev-server --inline --config build/webpack.dev.js", "build:file": "node build/bin/build-entry.js", "build:components": "node build/bin/build-components.js --color", "build:vant-css": "gulp build --gulpfile packages/vant-css/gulpfile.js --color", @@ -23,7 +23,7 @@ "build:changelog": "sh build/bin/build-changelog.sh", "deploy": "npm run deploy:docs && npm run deploy:cdn && gh-pages -d docs/dist --remote youzan", "deploy:cdn": "superman cdn /zanui/vant docs/dist/*.js && superman cdn /zanui/vant/async_en-US docs/dist/async_en-US/*.js && superman cdn /zanui/vant/async_zh-CN docs/dist/async_zh-CN/*.js", - "deploy:docs": "rimraf docs/dist && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.config.prod.js", + "deploy:docs": "rimraf docs/dist && cross-env NODE_ENV=production webpack --progress --hide-modules --config build/webpack.doc.js", "dist": "npm run bootstrap && node build/bin/build-lib.js", "lint": "./node_modules/.bin/eslint ./packages --ext .js,.vue", "test": "karma start test/karma.conf.js --single-run", @@ -110,7 +110,6 @@ "vue-template-es2015-compiler": "^1.6.0", "webpack": "^4.8.1", "webpack-cli": "^2.1.3", - "webpack-dev-server": "3.1.4", - "webpack-merge": "^4.1.2" + "webpack-dev-server": "3.1.4" } } diff --git a/test/get-webpack-conf.js b/test/get-webpack-conf.js index 8570b3489..7738138de 100644 --- a/test/get-webpack-conf.js +++ b/test/get-webpack-conf.js @@ -2,7 +2,7 @@ const path = require('path'); const webpack = require('webpack'); const ProgressBarPlugin = require('progress-bar-webpack-plugin'); const { VueLoaderPlugin } = require('vue-loader'); -const webpackDevConfig = require('../build/webpack.config.dev'); +const webpackDevConfig = require('../build/webpack.dev'); function getWebpackConfig(testFileName) { return { diff --git a/yarn.lock b/yarn.lock index 88c121968..b0d2b9775 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9464,12 +9464,6 @@ webpack-log@^1.0.1, webpack-log@^1.1.2: loglevelnext "^1.0.1" uuid "^3.1.0" -webpack-merge@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-4.1.2.tgz#5d372dddd3e1e5f8874f5bf5a8e929db09feb216" - dependencies: - lodash "^4.17.5" - webpack-sources@^1.0.1, webpack-sources@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.1.0.tgz#a101ebae59d6507354d71d8013950a3a8b7a5a54"