| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | const webpack = require('webpack');const ExtractTextPlugin = require('extract-text-webpack-plugin');const dirVars = require('./webpack/dir.config.js');var path = require('path');const version = require('./package.json').version;const argv = require('yargs').argv;let theme = {  '@primary-color': '#58a3ff',  '@link-color': '#58a3ff'};module.exports = (function () {  let staticHost = 'http://172.16.1.187';  switch (argv.env.deploy) {    case 'test':      staticHost = '//static.jishutao.com';      break;    case 'prod':      staticHost = '//s.jishutao.com';      break;    default:      break;  }  staticHost = staticHost + '/RD/' + version + '/';  theme['@icon-url'] = '"' + staticHost + 'css/iconfont/iconfont"'  var dllContext = path.resolve(dirVars.dllDir, './' + argv.env.deploy);  return {    output: {      path: dllContext,      filename: '[name].js',      library: '[name]', // 当前Dll的所有内容都会存放在这个参数指定变量名的一个全局变量下,注意与DllPlugin的name参数保持一致    },    entry: {      dll: [        'react', 'react-dom', 'antd', 'jquery/src/ajax/xhr.js', 'jquery/src/ajax', 'antd/lib/style'      ],    },    plugins: [      new webpack.DllPlugin({        path: path.resolve(dllContext, 'manifest.json'), // 本Dll文件中各模块的索引,供DllReferencePlugin读取使用        name: '[name]', // 当前Dll的所有内容都会存放在这个参数指定变量名的一个全局变量下,注意与参数output.library保持一致        context: dirVars.staticRootDir, // 指定一个路径作为上下文环境,需要与DllReferencePlugin的context参数保持一致,建议统一设置为项目根目录      }),      new ExtractTextPlugin({        filename: "[name].css",        disable: false,        allChunks: true      }), // 打包css/less的时候会用到ExtractTextPlugin      new webpack.optimize.UglifyJsPlugin({        minimize: true,        compress: {          warnings: false,        },      }),      new webpack.DefinePlugin({        "process.env": {          NODE_ENV: JSON.stringify("production")        }      })    ],    module: require('./webpack/module.config.js')(theme),    resolve: {      extensions: ['.js', '.jsx']    }  }})();
 |