如何创建配置文件以进行反应并阻止webpack捆绑?

时间:2017-04-18 07:59:57

标签: reactjs webpack webpack-externals

我在应用程序中添加了一个config.json。

webpack.config.js中的

我定义了Config

externals: {
    'Config': JSON.stringify(production ? require('./config.prod.json') : require('./config.dev.json'))
},

在应用程序中我需要配置并使用它

var Config = require('Config');

然而,webpack将我的配置文件捆绑到index.js(我的webpack输出文件),我不想要这个。 我想保持我的config.json与index.js分开为了实现这一点,我排除了我的config.json,但它没有用。

exclude: [/node_modules/, path.resolve(__dirname, 'config.dev.json'), path.resolve(__dirname, 'config.prod.json')]
如果我错过了什么,能帮助我。 感谢

2 个答案:

答案 0 :(得分:0)

正如@thedude所说,你可以使用webpack的代码分割功能。 而不是简单地执行import config from 'config.json',您可以使用非常酷的代码拆分功能。

require.ensure([], function(require) {
  let _config = require("config.json");
  this.setState({
    _configData: _config
  });
});

当您想使用config的数据时,请通过检查状态

来执行此操作
if(this.state._configData) { // this checks _configData is not undefined as well
  // use the data of config json
}

当您使用webpack编译代码时,将创建两个包文件,即bundle.js0.bundle.js。此0.bundle.js的代码为config.json文件。

答案 1 :(得分:-1)