Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.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 如何在构建完成后编辑.env文件_Javascript_Reactjs - Fatal编程技术网

Javascript 如何在构建完成后编辑.env文件

Javascript 如何在构建完成后编辑.env文件,javascript,reactjs,Javascript,Reactjs,我创建了react应用程序网页 使用自定义环境变量 问题是当我构建脚本时 并更改.env变量。网站中没有任何更改 .env文件: REACT\u APP\u SITENAME=SITENAME APP引用文档: 环境变量在构建期间嵌入 无法在运行时应用环境更改 以下是如何在运行时使用环境的示例: 构建react应用程序后,所有代码都是静态的,无法更改。我认为向react应用程序发送一些动态数据的唯一解决方案是,为运行应用程序的每个系统创建一个特殊文件,并将其直接加载到index.html中,或

我创建了react应用程序网页 使用自定义环境变量
问题是当我构建脚本时 并更改.env变量。网站中没有任何更改

.env
文件:

REACT\u APP\u SITENAME=SITENAME APP

引用文档:

环境变量在构建期间嵌入

无法在运行时应用环境更改

以下是如何在运行时使用环境的示例:


构建react应用程序后,所有代码都是静态的,无法更改。我认为向react应用程序发送一些动态数据的唯一解决方案是,为运行应用程序的每个系统创建一个特殊文件,并将其直接加载到index.html中,或者动态创建该文件的内容。 因此,当您在public/index.html中使用create react应用程序时,请添加如下内容:

<head>
...
<script src="https://www.example.com/envconfig.js" type="text/javascript">
</script>
...
</head>
该文件也可以由PHP、Java或任何其他后端服务动态创建。只需确保回答为有效的Javascript即可

在你的React应用程序index.js、app.js或任何你可以访问此变量的地方,因为它是全局变量:

   const appConfig = window.globalConfig || { siteName: process.env.REACT_APP_SITENAME}   
如果
globalConfig
不可用(可能在开发过程中),您就可以使用静态环境配置。 现在,您可以以任何方式使用appConfig,并通过redux、上下文或属性将其提供给组件


最后要提到的是,在执行所有React代码之前,必须确保已加载配置文件。因此,应该在所有创建的React文件之前加载该文件。

为什么要在生成后更改它?@Mihai,因为我想出售该脚本以及buy它如何更改和自定义应用程序:d当您更改.env文件时,您需要重新生成该文件以应用更改。谢谢,有没有办法在构建后配置和定制应用程序?只有在运行时使用JavaScript。如果这是你的背景,那么这不是Java。我的背景是php:D。。我怎么做?比如从json获取站点名称或站点徽标图像url并将其放入不再接受的答案中?为什么?我可以进一步提供帮助吗?感谢您的时间,我如何在构建后配置网站:(如站点名称或任何ThinkThaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa而不是使用自动关闭版本。没有它,此解决方案在Chrome中无法正常工作。@Martinemec3您是对的,谢谢您的提及。我已经更正了我的答案。
   const appConfig = window.globalConfig || { siteName: process.env.REACT_APP_SITENAME}