在React Redux中从package.json获取版本号

编辑:如果有其他人遇到这个,应用程序创build使用create-react-app ,它限制导入到src文件夹内,但是如果你升级react-scripts到v1.0.11它可以让你访问package.json。

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

我已经尝试了这些build议 ,但没有人工作,因为我不能从src文件夹外部访问package.json(可能是由于React,我是新来的)。 将package.json移动到src中意味着我不能运行npm installnpm version minornpm run build从我的根文件夹npm run build 。 我已经尝试使用process.env.npm_package_version但导致未定义。

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

编辑:我的文件结构是这样的:

 --> 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 /中为它添加一个符号链接。

从您的编辑,我会build议尝试

 import packageJson from '/package.json'; 

你也可以尝试创build一个符号链接:

 ln -s /path/to/file /path/to/symlink 

还要看看这个问题: 在src目录之外的create-react-appimport限制

尝试这个。

 // in package.json "version": "1.0.0" // in index.js import packageJson from '../package.json'; console.log(packageJson.version); // "1.0.0"