当前位置: 首页 > 面试题库 >

使用环境变量设置基本href

和光启
2023-03-14
问题内容

需要<base href=""/>基于构建环境配置来设置标签的href值。

例如:

分期应有 <base href="/staging" />

产品应具有 <base href="/" />

当前设置:

生成命令:

"build": "sh -ac '. .env.${REACT_APP_ENV}; react-scripts build'",

"build:staging": "REACT_APP_ENV=staging npm run build",

"build:prod": "REACT_APP_ENV=production npm run build",

.env.staging.js:

REACT_APP_BASE_HREF=/staging

index.html:

....

<base href="" + process.env.REACT_APP_API_URL />

....

在index.html中,这似乎不起作用。虽然类似的设置适用于JS文件

(可能是因为将JS文件解析并捆绑到一个文件中,并且捆绑程序在该时间点读取值)

尝试过的事情:

index.html:

<base href=process.env.REACT_APP_API_URL />

<base href="process.env.REACT_APP_API_URL" />

<base href="%process.env.REACT_APP_API_URL%" /> (类似于PUBLIC_URL变量)

与浏览器路由器一起设置basename属性也不能解决问题


问题答案:

这个问题解决了。跟着这些步骤:

  1. 在package.json中将homepage键设置为""
  2. 在.env.staging文件中 PUBLIC_URL=/survey
  3. 无需使用<base href>。可以从HTML文件中删除
  4. 将样式表的链接更改为

<link rel="stylesheet" href="%PUBLIC_URL%/vendor/bootstrap/css/bootstrap.min.css">

无需添加process.env



 类似资料:
  • ENV 设置环境变量 格式有两种: ENV <key> <value> ENV <key1>=<value1> <key2>=<value2>... 这个指令很简单,就是设置环境变量而已,无论是后面的其它指令,如 RUN,还是运行时的应用,都可以直接使用这里定义的环境变量。 ENV VERSION=1.0 DEBUG=on \ NAME="Happy Feet" 这个例子中演示了如何换行,以

  • 问题内容: 我有一个脚本来设置交叉编译所需的所有变量。这只是其中的一部分: 如果这样做,所有环境变量都将导入到当前的Shell会话中,并且可以编译我的示例。 是否可以在cmake中导入这些变量?如果是,怎么办? 更多细节: 我正在使用ELDK v 5.4,它的安装脚本生成一个脚本,该脚本设置所有环境变量 我找到了本教程,该教程说明了如何手动设置交叉编译,但没有说明如何使用脚本来设置所有内容 如果我

  • 我在“React-Native Run-Android”上得到以下错误..怎么修? 在https://help.gradle.org获得更多帮助 在1s中生成失败,无法在设备上安装应用程序,请阅读上面的错误以了解详细信息。确保运行了Android模拟器或连接了设备,并设置了Android开发环境:https://facebook.github.io/react-native/docs/geting

  • 我有一个Spring Boot应用程序,它将在各种环境中运行,根据它运行的环境,它将连接到不同的数据库。我有几个文件,每个环境都有一个,如下所示: : : 在我的每个环境中,我都有一个名为的环境变量,它被设置为它所处的环境类型,例如或(文件的名称与环境名称完全匹配)。 如何让spring boot读取这个环境变量并自动选择正确的文件?我不想因为这个包的部署方式(它不会作为jar运行)而不得不执行整

  • 问题内容: 我在下面的代码中只想设置一个环境变量: 运行此文件: 该调用可以正确打印,但是随后我希望在会话中也设置此env变量,但是: 什么都没有,它是空的。这是预期的行为吗?如果是这样,我如何使这个env变量在我的会话中保持不变,并使用类似这样的程序对其进行设置? 问题答案: 创建新流程时,将复制父流程的环境。在新流程中对环境所做的更改不会影响父流程。修改环境后,您必须让程序启动Shell。

  • 问题内容: 我有一个bash脚本,用于设置环境变量并运行命令 现在,我想使用python代替bash,因为我想计算传递给命令的一些参数。 我试过了 和 其次是 但由于未设置LD_LIBRARY_PATH,因此程序总是放弃。 我怎样才能解决这个问题? 感谢帮助! (如果我在调用python脚本之前导出LD_LIBRARY_PATH,则一切正常,但我希望python确定路径并将环境变量设置为正确的值)