OP 编辑:如果其他人遇到此问题:该应用程序是使用 create-react-app 创建的,这将导入限制在 src 文件夹内。但是,如果您 将 react-scripts 升级到 v1.0.11 ,它确实可以让您访问 package.json。
我正在尝试从我的应用程序中的 package.json 获取版本号。
我已经尝试过 这些建议,但没有一个有效,因为我无法从 src 文件夹外部访问 package.json(可能是由于 React,我是新手)。将 package.json 移动到 src 然后意味着我无法从我的根文件夹运行 npm install
、 npm version minor
和 npm run build
。我试过使用 process.env.npm_package_version
但这会导致未定义。
我正在使用 Jenkins,我还没有设置它来推送提交,但我唯一的想法是从 GitLab 中的标签中获取版本,但我不知道该怎么做,它会给回购添加不必要的依赖,所以我真的很想找到一个替代方案。
编辑:我的文件结构是这样的:
--> RootAppFolder
|--> build
|--> node_modules
|--> public
|--> src
|--> Components
|--> Root.js
|
|--> package.json
所以要从 Root.js 访问 package.json 我必须做 import packageJson from './../../package.json'
然后我得到以下错误:
./src/components/Root.js
未找到模块:您尝试导入位于项目 src/ 目录之外的 ./../../package.json。不支持 src/ 之外的相对导入。你可以将它移到 src/ 中,或者从项目的 node_modules/ 中添加一个符号链接。
原文由 Baldeep 发布,翻译遵循 CC BY-SA 4.0 许可协议
根据您的编辑,我建议尝试:
您也可以尝试创建符号链接:
列出 src 目录的内容,您将看到符号链接。
添加
.alias
有助于减少他人和未来自己的“魔力”。另外,它将帮助文本编辑器将它们分开。你以后会感谢我的。只需确保更新您的 JS 代码以从./package.alias.json
而不是./package.json
导入。另外,请看一下这个问题: src 目录之外的 create-react-app 导入限制