OP EDIT: If anyone else comes across this: the app was created using 100, which limits importing to within the src folder. However if you 101 it does let you access package.json.

我正试图从软件包中获取版本号.json在我的应用程序中.

我已经试过these suggestions次了,但都没用,因为我无法访问这个软件包.来自src文件夹之外的json(可能是由于React,我不熟悉这个).移动Package.json转换为src意味着我不能从根文件夹运行npm installnpm version minornpm run build.我试过使用process.env.npm_package_version,但结果是没有定义.

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

编辑:

--> RootAppFolder
    |--> build
    |--> node_modules
    |--> public
    |--> src
         |--> Components
              |--> Root.js
    |
    |--> package.json

所以要访问包.来自根的json.js我必须做import packageJson from './../../package.json',然后我得到以下错误:

./src/components/Root.js

未找到模块:您试图导入

推荐答案

根据您的编辑,我建议您try :

import packageJson from '/package.json';

您还可以try 创建符号链接:

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

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

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

当看到这一点时,增加.alias有助于减少对他人和你future self 的"魔力".此外,它还可以帮助文本编辑器将它们分开.你以后会感谢我的.只需确保将JS代码更新为从./package.alias.json而不是./package.json导入即可.

另外,请看一下这个问题:

Node.js相关问答推荐

解决TypScript Jest测试中的静态类块错误

node 无法验证第一个证书

自动将Selify打开的Chrome窗口移动到Mac OS中的第三个显示器

如何在Sequelize with Postgres中将m:n关联表ID从整数迁移到UUID?

通过 Node js 中的 TBA 执行 netsuite REST upsert 操作出现 401 错误

try 使用 pdf.js 时 pdf.getPage 不是函数

如何使用Stripe测试失败的收费?

在 Nest 项目上运行 Jest 测试时,我的文件无法找到一个在测试之外没有任何问题的模块

Gulp 能否向 Docker 发出增量构建的第一次迭代完成的信号?

Typescript 正则表达式:过滤器返回空

在快速路由中使用 axios 会在数据字段中返回特殊字符而不是 json

使用 .pipe(res) 向客户端发送音频不允许您搜索?

我怎样才能让`git`失败而不是要求提供凭据

为什么我的 Heroku Express API 数据是持久的,即使它只是来自一个变量

即使部署成功,也不会触发 Firebase 函数来填充 Firestore 集合.为什么?

我应该在(Docker)容器中使用 forever/pm2 吗?

判断一个数组中的每个元素是否都在第二个数组中

Dart 语言比 JavaScript (Node.js) 有什么好处

使用 node.js 循环 JSON

路由后的 Node Express 4 中间件