如何在包json或其他方式中使用env变量
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在包json或其他方式中使用env变量相关的知识,希望对你有一定的参考价值。
我刚刚创建了我的第一个React应用程序,但是最后我注意到我在一个地方重复了自己。我需要将homepage
字段添加到package.json中,因为我将应用托管在一个子目录下。但是随后,我还需要为路由器添加与basename
相同的主页。好吧,这意味着我可以更新一个,而忘记更新另一个,这不是DRY。
是否有办法将我的首页路径仅放在一个地方?也许在package.json中使用.env变量?
我的package.json
(通知主页)
{
"name": "react-app",
"version": "0.1.0",
"private": true,
"homepage": "/react-app/build",
"dependencies": {
...
},
以及也在我的.env文件中
REACT_APP_HOMEPAGE=/react-app/build
然后在我的路由器中,我需要添加这个
<Router basename={process.env.REACT_APP_HOMEPAGE}>
将我的首页路径放在两个地方并不是一个好主意。有什么办法可以在package.json文件中使用我的ENV变量,或者可以在我的应用程序中使用package.json变量?
正如我在评论部分中已经提到的。它不是理想的处理方式,但是以下解决方案应该可以工作。相反,应该像在使用路由器的组件中那样在package.json中定义主页,然后可以导入package.json并从中读取homepage属性。如
let packageJson = require('../path/to/package.json');
packageJson.homepage
如果以后在package.json中需要使用该值,则可以执行类似操作
$npm_package_homepage.
您可以在package.json中找到有关使用变量的更多详细信息,Referencing variables in package.json这样,当需要编辑时,可以在package.json中的一个位置进行编辑,其他所有位置都将生效。
以上是关于如何在包json或其他方式中使用env变量的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 .env 文件中的环境变量来填写同一个 .env 文件中的其他环境变量
关于Lumen / Laravel .env 文件中的环境变量是如何生效的