我在React应用程序中有index.css文件,我正在导入一个外部css文件,如下所示。@import url('https://externalurldev01.blob.core.windows.net/XXX/index.css');
这个网址会因不同的环境而不同。
Dev : @import url('https://externalurldev01.blob.core.windows.net/XXX/index.css');
QA : @import url('https://externalurltest01.blob.core.windows.net/XXX/index.css');
PROD : @import url('https://externalurlprod01.blob.core.windows.net/XXX/index.css');
我怎样才能动态地进行基于env的导入?
现在,我有一个变通方法,创建三个index.css文件index-dev.css、index-qa.css和index-prod.css,然后有条件地从js文件导入。
但我正在寻找一些解决方案,这样我就不需要创建三个文件。而是从环境变量中获得env。如下所示@import url('https://externalurl"+process.env.REACT_APP_ENV+"01.blob.core.windows.net/XXX/index.css');
但是这种连接并不起作用。
2条答案
按热度按时间pes8fvy91#
process.env
只在后端可用,所以你不能在浏览器中的css或js中使用它,我通常这样做的方法是在html中填充data-*
属性上的值,然后在css中使用attr()
函数或js中的dataset
属性提取这个属性值。wpcxdonn2#
我能解决这个问题。
我动态导入的css文件如下。
由于应用程序部署在Kubernetes群集中,因此从configmap获取设置窗口变量。