我在应用程序中添加了一个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')]
如果我错过了什么,能帮助我。
感谢
答案 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.js
和0.bundle.js
。此0.bundle.js
的代码为config.json
文件。
答案 1 :(得分:-1)
您应该使用webpack的代码拆分功能:https://webpack.js.org/guides/code-splitting/#src/components/Sidebar/Sidebar.jsx