包含 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的主要内容,如果未能解决你的问题,请参考以下文章

vue脚手架项目启动失败找不到package.json文件

如何将 package.json 导入 Typescript 文件而不将其包含在编译输出中?

为啥在 `npm install` 时`package-lock.json` 会导致 docker 容器构建失败?

npx react-native init 错误在 appdata 文件夹中不包含 package.json 文件

arduino IDE:packages/package_index.json文件签名验证失败.已忽略文件.

万一失败,如何继续运行 package.json 中定义的脚本?