From 6900c556b144711cd0972b320e5dd8144fdf0b8b Mon Sep 17 00:00:00 2001 From: afc163 Date: Sat, 15 Oct 2016 17:04:30 +0800 Subject: [PATCH] refactor build webpack config file --- webpack.config.js | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/webpack.config.js b/webpack.config.js index d6646d9e19..7079938c9d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,24 +1,30 @@ +// This config is for building dist files const webpack = require('webpack'); const getWebpackConfig = require('antd-tools/lib/getWebpackConfig'); +// noParse still leave `require('./locale' + name)` in dist files +// ignore is better +// http://stackoverflow.com/q/25384360 function ignoreMomentLocale(webpackConfig) { delete webpackConfig.module.noParse; webpackConfig.plugins.push(new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)); } +// Fix ie8 compatibility +function es3ify(webpackConfig) { + webpackConfig.module.loaders.unshift({ + test: /\.(tsx|jsx?)$/, + loader: 'es3ify-loader', + }); +} + module.exports = function (webpackConfig) { webpackConfig = getWebpackConfig(webpackConfig); if (process.env.RUN_ENV === 'PRODUCTION') { - // Fix ie8 compatibility - webpackConfig[0].module.loaders.unshift({ - test: /\.(tsx|jsx?)$/, - loader: 'es3ify-loader', + webpackConfig.forEach((config) => { + es3ify(config); + ignoreMomentLocale(config); }); - // noParse still leave `require('./locale' + name)` in dist files - // ignore is better - // http://stackoverflow.com/q/25384360 - ignoreMomentLocale(webpackConfig[0]); - ignoreMomentLocale(webpackConfig[1]); } return webpackConfig; };