diff options
Diffstat (limited to 'usecaseui-holmes/src/main/webapp/config/webpack.prod.js')
-rw-r--r-- | usecaseui-holmes/src/main/webapp/config/webpack.prod.js | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/usecaseui-holmes/src/main/webapp/config/webpack.prod.js b/usecaseui-holmes/src/main/webapp/config/webpack.prod.js new file mode 100644 index 00000000..dcefdabe --- /dev/null +++ b/usecaseui-holmes/src/main/webapp/config/webpack.prod.js @@ -0,0 +1,109 @@ +/* Copyright 2017 ZTE Corporation. + * + *Licensed under the Apache License, Version 2.0 (the "License"); + *you may not use this file except in compliance with the License. + *You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +const ExtractTextPlugin = require('extract-text-webpack-plugin'); +const DefinePlugin = require('webpack/lib/DefinePlugin'); +const CopyWebpackPlugin = require('copy-webpack-plugin'); +const UglifyJsPlugin = require('webpack/lib/optimize/UglifyJsPlugin'); +const LoaderOptionsPlugin = require('webpack/lib/LoaderOptionsPlugin'); + + +const webpack = require('webpack'); +const commonConfig = require('./webpack.common.js'); +const webpackMerge = require('webpack-merge'); +const helpers = require('./helpers'); + + +module.exports = webpackMerge(commonConfig, { + + + devtool: 'source-map', + + + output: { + + path: helpers.root('holmes'), + + filename: '[name].[chunkhash].bundle.js',//'[name].[hash].js', + + sourceMapFilename: '[name].[chunkhash].bundle.map', + + + chunkFilename: '[id].[chunkhash].chunk.js'//'[id].[hash].chunk.js' + }, + + + + + module: { + + rules: [ + + { + test: /\.css$/, + loader: ExtractTextPlugin.extract({ + fallback: 'style-loader', + use: { + loader: 'css-loader', + options: { + sourceMap: true, + minimize: true + } + } + }), + include: [helpers.root('alarm/assets'), helpers.root('public'),helpers.root('alarm/app')] + }, + ] + + }, + + plugins: [ + + new webpack.NoErrorsPlugin(), + + new webpack.optimize.DedupePlugin(), + + new webpack.optimize.UglifyJsPlugin({ + sourceMap: true, + mangle: { + keep_fnames: true + } + }), + + + new ExtractTextPlugin('[name].[contenthash].css'), + + new DefinePlugin({ + 'CONST': true, + }), + + + new LoaderOptionsPlugin({ + minimize: true, + debug: false, + }) + ], + + + node: { + global: true, + crypto: 'empty', + process: false, + module: false, + clearImmediate: false, + setImmediate: false + } + + +}); |