在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 install
, npm version minor
和npm 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"