UNPKG

1.04 kBJavaScriptView Raw
1const path = require('path');
2const EnvEnums = require('env-enums');
3const webpack = require('webpack');
4const UglifyJSPlugin = require('uglifyjs-webpack-plugin');
5
6const pkg = require('./package.json');
7const env = process.env.NODE_ENV || EnvEnums.DEVELOPMENT;
8
9// webpack 配置
10let webpackConfig = {
11 entry: {
12 index: './src/index.js',
13 data: './src/data.js',
14 },
15 output: {
16 path: path.resolve(__dirname, './dist'),
17 filename: env === EnvEnums.PRODUCTION ? '[name].min.js' : '[name].js',
18 },
19 devtool: 'cheap-source-map',
20 module: {
21 rules: [
22 {
23 test: /\.js$/,
24 exclude: /node_modules/,
25 use: {
26 loader: 'babel-loader',
27 options: {
28 presets: ['es2015', 'stage-0'],
29 plugins: ['add-module-exports', 'transform-runtime'],
30 },
31 },
32 },
33 ],
34 },
35 plugins: [new webpack.NamedModulesPlugin()],
36};
37
38// 代码混淆压缩
39if (env === 'production') {
40 webpackConfig.plugins.push(new UglifyJSPlugin());
41}
42
43module.exports = webpackConfig;