Webpack2继续添加dev依赖文件

时间:2017-07-11 19:46:20

标签: reactjs webpack webpack-2

我有这样的配置,如下所示。但是,即使if语句只进入" production"

,它似乎也会加载开发脚本
  if (process.env.NODE_ENV === 'production') {
      module.exports = require('./configureStoreProd')
  } else {
      module.exports = require('./configureStoreDev')
  }

如果我从' redux-logoer" 中删除"导入记录器,则不会在分析器上显示。

我猜测webpack构建供应商文件时,NODE_ENV是未定义或为空。我该如何正确设置?

1 个答案:

答案 0 :(得分:0)

我使用的解决方法:

您的配置文件(您将在希望使用它的js文件中导入)确定您将使用哪个文件,具体取决于您所处的环境。

<强> config.js

var config = null;

if (process.env.NODE_ENV !== 'production') {
  config = require('./config.development');
}else {
  config = require('./config.production');
}

export default config;

您的配置生产 .json 文件,如果您在生产环境中,则会选择该文件。同样适合发展。

<强> config.production.json

{
    "graphQlEndpoint": {
        "uri": "YourUriHere"
    },
}

在商店中,您可以导入config.js文件,然后选择所需的变量。示例:config - &gt; graphQlEndpoint - &gt; URI

<强> store.js

import config from '../../configs/config';

networkInterface = createNetworkInterface({
    uri: config.graphQlEndpoint.uri
});

const store = createStore(rootReducer, defaultState, networkInterface);

我发现使用require()和在儿子中使用 config 文件更容易。然后,您可以在导入它的任何位置使用配置文件和正确的环境。

我建议您使用npm run build进行测试。

希望这有帮助