Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在包json中使用env变量,或者以其他方式使用_Javascript_Reactjs - Fatal编程技术网

Javascript 如何在包json中使用env变量,或者以其他方式使用

Javascript 如何在包json中使用env变量,或者以其他方式使用,javascript,reactjs,Javascript,Reactjs,我刚刚创建了我的第一个React应用程序,但最后我注意到我在一个地方重复我自己。我需要将主页字段添加到package.json,因为我的应用程序托管在一个子目录下。但是我还需要为我的路由器添加与basename相同的主页。嗯,这意味着我可以更新一个,而忘记更新另一个,它不是干的 有没有办法让我的主页路径只在一个地方?可能使用package.json中的.env变量 mypackage.json(注意主页) 也在我的.env文件中 REACT_APP_HOMEPAGE=/react-app/bui

我刚刚创建了我的第一个React应用程序,但最后我注意到我在一个地方重复我自己。我需要将
主页
字段添加到package.json,因为我的应用程序托管在一个子目录下。但是我还需要为我的路由器添加与
basename
相同的主页。嗯,这意味着我可以更新一个,而忘记更新另一个,它不是干的

有没有办法让我的主页路径只在一个地方?可能使用package.json中的.env变量

my
package.json
(注意主页)

也在我的.env文件中

REACT_APP_HOMEPAGE=/react-app/build
然后在我的路由器中,我需要添加这个

<Router basename={process.env.REACT_APP_HOMEPAGE}>


把我的主页路径放在两个地方不是一个好主意。有没有一种方法可以在package.json文件中使用我的ENV变量,或者在我的应用程序中使用package.json变量?

正如我在评论部分已经提到的那样。这不是一种理想的做事方式,但下面的解决方案应该有效。 您应该在package.json中定义homepage,就像在使用路由器的组件中那样,您可以导入package.json并从中读取homepage属性。 如

如果稍后在package.json中需要使用该值,则可以执行以下操作

$npm_package_homepage.
您可以在package.json中找到有关使用变量的更多详细信息
这样,当需要编辑时,您可以在package.json中的一个位置进行编辑,所有其他位置都将生效。

正如我在评论部分中已经提到的那样。这不是一种理想的做事方式,但下面的解决方案应该有效。 您应该在package.json中定义homepage,就像在使用路由器的组件中那样,您可以导入package.json并从中读取homepage属性。 如

如果稍后在package.json中需要使用该值,则可以执行以下操作

$npm_package_homepage.
您可以在package.json中找到有关使用变量的更多详细信息
这样,当需要编辑时,您可以在package.json中的一个位置进行编辑,所有其他位置都将生效。

如果您使用的是create react app,则需要在react_app之前添加prepend react以获取值。如果你有自定义网页包配置,你需要提到那里的主页。是的,我会更新,但我仍在重复我自己…你使用创建react应用程序或手动配置初始化了项目?我使用了
npx创建react应用程序
,我在我的环境中使用
react\u app\u主页
,一般来说,为了获得最佳实践,json文件用于保存开发或生产依赖项以及一些配置的列表。让它从环境文件中读取是违背其目的的,但是你的问题是非常有效的。如果你正在使用create react应用程序,你需要在react_应用程序前加上前缀以获取价值。如果你有自定义网页包配置,你需要提到那里的主页。是的,我会更新,但我仍在重复我自己…你使用创建react应用程序或手动配置初始化了项目?我使用了
npx创建react应用程序
,我在我的环境中使用
react\u app\u主页
,一般来说,为了获得最佳实践,json文件用于保存开发或生产依赖项以及一些配置的列表。从环境文件中读取它是违背其目的的,但是你的问题是非常有效的。谢谢,这似乎有效。尽管如此,我们需要像那样将
package.json
拉入我们的应用程序,这看起来确实很奇怪。谢谢,这似乎很有效。尽管如此,我们需要像这样将
package.json
拉入我们的应用程序似乎有些奇怪。
$npm_package_homepage.