我正在使用webpack构建一个webapp并遇到一些问题,我无法弄清楚自己或文档。
我想要实现的是配置webpack,因为它不会将一个特定的json文件或所有这些文件包含在主包中。但是,它仍然可以像这样要求它们:
define(['app/config.json'], function (config) {
...
});
我当前对json文件的webpack配置如下所示:
module: {
loaders: [
{
test: /\.json/,
loader: "json"
},
// ...
]
}
上面显示的配置加载JSON文件,解析它,并且需要它们的模块只需获得一个实例化的js对象。奇妙! config.json文件包含一些特定于安装的变量,应由应用程序的用户编辑。
当像这样使用文件加载器时:
{
test: /\.json/,
loader: "file",
query: {
name: 'res/[name].[ext]'
}
},
JSON文件未包含在捆绑包中,但要求它不加载文件,它只返回文件名。有什么想法吗?
答案 0 :(得分:3)
JSON文件未包含在捆绑包中,但要求它不加载文件,它只返回文件名。有什么想法吗?
这是文件加载器的重点。这就是为什么它与图像等资产一起运行良好的原因。但是,它可能不适用于您的用例,因为您必须根据返回的路径本身查询文件(违背您的想法)。
如果您明确要将JSON分开,也许您可以使用CommonsChunkPlugin。这意味着您必须实现一个公开数据的单独入口点。它可能像这样微不足道:
module.exports = require('app/config.json');
然后,您将从您的应用程序指向此代理。 CommonsChunkPlugin 会处理您的分割要求。