我正在尝试使用WebPack使用commonJS模块从基于 isomorphic 的JS代码创建浏览器包。要在package.json中公开版本,我在index.js中执行以下操作:
var pjson = require("../package.json");
module.exports = {
version: pjson.version
};
但是,默认情况下,WebPack会将package.json
文件视为JavaScript,这会导致解析器错误,因为它实际上是JSON:
package.json Line 2: Unexpected token :
我已经读过,对于JSON文件,需要json-loader
插件,模块路径必须调整为json!../package.json
。虽然这实际上适用于WebPack,但它会在本地运行node.js时破坏代码。
那么引用package.json
(或任何其他JSON文件)的正确方法是什么,以便WebPack可以创建浏览器包而不是用任何仅支持WebPack的模块路径来污染代码?
答案 0 :(得分:4)
照常使用:
var pjson = require("../package.json");
但在webpack.config.json
:
...
module: {
loaders: [{
test: /\.json$/,
loader: 'json'
}, ...]
}
...