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

Posted

技术标签:

【中文标题】包含 package.json 文件失败时使用 webpack【英文标题】:Use webpack when including the package.json file fails 【发布时间】:2016-04-22 16:13:09 【问题描述】:

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

【问题讨论】:

【参考方案1】:

照常尝试使用:

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

但是在webpack.config.json:

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

...

【讨论】:

以上是关于包含 package.json 文件失败时使用 webpack的主要内容,如果未能解决你的问题,请参考以下文章