包含package.json文件失败时使用webpack

时间:2016-01-17 13:08:43

标签: javascript node.js webpack package.json isomorphic-javascript

我正在尝试使用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的模块路径来污染代码?

1 个答案:

答案 0 :(得分:4)

照常使用:

var pjson = require("../package.json");

但在webpack.config.json

...
module: {
    loaders: [{
        test: /\.json$/,
        loader: 'json'
    }, ...]
}
...