包含 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'
}, ...]
}
...
我正在尝试使用 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'
}, ...]
}
...