小能豆

从 React Redux (create-react-app) 中的 package.json 获取版本号

javascript

OP 编辑:如果其他人遇到这种情况:该应用程序是使用create-react-app创建的,它限制导入到 src 文件夹中。但是,如果您将 react-scripts 升级到 v1.0.11,它确实允许您访问 package.json。

我正在尝试从我的应用程序中的 package.json 获取版本号。

我正在使用 Jenkins,但我还没有设置它来推动提交,但我唯一的想法是从 GitLab 中的标签中获取版本,但我不知道如何做到这一点,而且它会给 repo 增加不必要的依赖,所以我真的很想找到一种替代方案。

编辑:我的文件结构如下:

--> 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/ 为其添加符号链接。


阅读 47

收藏
2024-06-05

共1个答案

小能豆

根据您的编辑,我建议尝试:

import packageJson from '/package.json';

您还可以尝试创建符号链接:

# From the project root.
cd src; ln -s ../package.json package.alias.json

列出 src 目录的内容,您将看到符号链接。

ls
#=> package.alias.json -> ../package.json

添加.alias有助于减少其他人和您未来自己在查看时产生的“魔力”。此外,它还有助于文本编辑器将它们区分开来。您稍后会感谢我。只需确保更新 JS 代码以从 导入,./package.alias.json而不是./package.json

2024-06-05