Configuration 在webpack中将Javascript对象作为模块公开

Configuration 在webpack中将Javascript对象作为模块公开,configuration,build,webpack,Configuration,Build,Webpack,在webpack.config.js中,我计算了一个javascript映射,希望将其作为模块导入浏览器。我可以将数据写入磁盘,然后用例如读取,但有没有更优雅的方法在内存中这样做 webpack.config: var config = { key: 'data' } // do something with webpack loaders some.file.that.is.executed.in.browser.js: var config = require('config'

webpack.config.js
中,我计算了一个javascript映射,希望将其作为模块导入浏览器。我可以将数据写入磁盘,然后用例如读取,但有没有更优雅的方法在内存中这样做

webpack.config:

var config = {
  key: 'data'    
}
// do something with webpack loaders
some.file.that.is.executed.in.browser.js:

var config = require('config')
window.alert('Config is', config.key)

网页包加载器是文件预处理器,因此需要有您导入的文件。因此,创建一个虚拟文件并使用它覆盖内容

为项目创建一个空的
config.json

在webpack.config.js中:

var appConfig = {
  key: 'data'
}
...
loaders: [
{
    test: /config.json$/,
    loader: 'json-string-loader?json=' + JSON.stringify(appConfig)
}
在浏览器中:

var appConfig = require("./config.json");
// => returns {key: 'data'}
我可以将数据写入磁盘,然后用例如 ,但还有更优雅的吗 如何在内存中实现这一点

为什么??您可以在config.js中执行所需的任何操作(而不是静态json),只需返回一个结果:

var data = 'foo' + 'bar';
module.exports = {
  key: data
}

在这种情况下,顺便说一下,您甚至不需要使用加载器,但我不想加载整个package.json,我只需要一个版本。因此,我将在构建时为
package.json
生成替换包(这是一个非常有用的包;)