Webpack definePlugin没有设置/读取node_env变量

时间:2017-03-29 03:15:31

标签: reactjs webpack react-redux

我有通过Webpack的definePlugin将node_env var注入我的代码的实际问题,并且在阅读了大量帖子后似乎没有任何作用。我有一种感觉,我错过了一些东西......

所以我的生产webpack配置是 -

// Config
import path from 'path';
import webpack from 'webpack';
import config from './config';


/**
 * Webpack config for compiling the
 * React/Redux/ES6 scripts.
 *
 * ENV = production
 *
 * @type {Object}
 */
module.exports = {
    entry: path.resolve(__dirname, '../', config.assets.scripts.src_dir, config.assets.scripts.entry),
    devtool: false,
    output: {
        path: path.resolve(__dirname, config.assets.scripts.dist_dir),
        filename: config.assets.scripts.dist_min
    },
    module: {
        loaders: [
            {
                test: /.js?$/,
                loader: 'babel-loader?presets[]=react,presets[]=es2015,presets[]=stage-0',
                exclude: /node_modules/
            },
            {
                test: /\.json$/,
                loader: 'json-loader'
            }
        ]
    },
    plugins: [
        new webpack.DefinePlugin({
            'process.env': {
                'NODE_ENV': JSON.stringify('production')
            }
        }),
        new webpack.optimize.UglifyJsPlugin({})
    ]
};

我已经尝试设置别名的反应,反应和反应 - 还原无效,React仍警告我,我使用node_env = production之外的缩小版本(另外redux仍然把这个错误抛给我。)

仅供参考,我使用的是webpack 2.2.1。

这与babel-loader在某种程度上相互冲突有关吗?如果有人能指出我的方向是正确的那么好。

1 个答案:

答案 0 :(得分:3)

尝试将IFS="[, ]" read -r -a list <<<"Yeseva+One, Yrsa" #Convert values to array for k in "${list[@]}";do k2="${k,,}" #The bash way to convert everything from upper to lower printf -- '--font-%s:\"%s\";\n' "${k2//+/-}" "${k//+/ }" #bash way to replace strings done #Output --font-yeseva-one:"Yeseva One"; --font-yrsa:"Yrsa"; DefinePlugin更改为此< - p>

NODE_ENV