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
模块未找到:您尝试导入 ./../../ package.json,它位于项目src / 目录之外。 src /之外的相对导入不受支持。 您可以将其移动到src /内,或者从项目的node_modules /中添加符号链接。
package.json
,那么版本号就可以轻松获取。 - shaochuancsimport {version} from './package.json';
取代了var data = require('./package.json');
。 - kenfire