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

Use webpack when including the package.json file fails

我正在尝试使用 WebPack 从我的基于 同构 的 JS 代码使用 commonJS 模块为浏览器创建一个包。要在 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 模块路径污染代码?

尝试照常使用:

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

但是在webpack.config.json:

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