对于我的Web应用程序,当我尝试将版本标签从package.json导入到app.js(/src/app.js)(比app.js更高一级)时,本地运行正常。但是,当我尝试通过生成dist文件夹从开发中运行时,即使src和dist文件夹处于同一级别,该代码也不起作用,并且应该能够访问package.json。
部署到开发中时,出现如下错误:
Error: Cannot find module '../package.json'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:692:17)
at require (internal/modules/cjs/helpers.js:25:18)
有人可以帮我吗?
答案 0 :(得分:3)
如果正在使用Node.js(似乎是这种情况),请使用节点本机path
模块来解析package.json
路径。这是一个示例:
src/
path/
to/
subdir/
foo.js
index.js
package.json
package.json
{
"version": "1.0"
}
foo.js
const path = require('path');
const packageJson = require(path.resolve('package.json'));
module.exports = {
"packageVersion": packageJson.version
}
index.js
const path = require('path');
const packageJson = require(path.resolve('package.json'));
const foo = require('./src/path/to/subdir/foo');
console.log(packageJson.version);
console.log(foo.packageVersion);
运行node index
时,您将获得以下输出
1.0
1.0
使用package.json
从index.js
和foo.js
读取path.resolve('package.json')
的版本