From ef1ae2b761067c689251b580d3b27f34b8a3597f Mon Sep 17 00:00:00 2001 From: DIYgod Date: Thu, 19 Jan 2017 18:18:04 +0800 Subject: [PATCH] optimize webpack workflow --- package.json | 3 ++- webpack.config.js | 32 ++++++++++++++++++++------------ 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/package.json b/package.json index f2a7863..6c97ca5 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,8 @@ "main": "dist/APlayer.min.js", "scripts": { "test": "webpack", - "start": "webpack-dev-server --hot --progress --inline --host 0.0.0.0" + "build": "webpack", + "dev": "WEBPACK_ENV=dev webpack-dev-server --hot --progress --inline --host 0.0.0.0" }, "repository": { "type": "git", diff --git a/webpack.config.js b/webpack.config.js index debaec5..a09385c 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,23 +2,37 @@ var webpack = require('webpack'); var path = require('path'); var autoprefixer = require('autoprefixer'); +var libraryName = 'APlayer'; +var env = process.env.WEBPACK_ENV; var ROOT_PATH = path.resolve(__dirname); var APP_PATH = path.resolve(ROOT_PATH, 'src'); var BUILD_PATH = path.resolve(ROOT_PATH, 'dist'); -module.exports = { - devtool: 'source-map', +var plugins = []; +if (env !== 'dev') { + plugins.push( + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false + }, + minimize: true + }) + ); +} - entry: './src/APlayer.js', +module.exports = { + entry: './src/' + libraryName + '.js', output: { path: BUILD_PATH, - filename: 'APlayer.min.js', - library: 'APlayer', + filename: libraryName + '.min.js', + library: libraryName, libraryTarget: 'umd', umdNamedDefine: true }, + devtool: 'source-map', + devServer: { publicPath: "/dist/", }, @@ -45,13 +59,7 @@ module.exports = { ] }, - plugins: [ - new webpack.optimize.UglifyJsPlugin({ - compress: { - warnings: false - } - }) - ], + plugins: plugins, postcss: [ autoprefixer({