创建React App:在index.html中使用环境变量

时间:2018-08-08 10:27:11

标签: reactjs create-react-app

有没有办法注入环境变量,例如REACT_APP_MY_APIindex.html文件中?

根据this,它可以完成,但是我似乎无法使其正常工作。

.env

REACT_APP_MY_API=https://something.com

index.html

<script type="text/javascript">
  console.log("%REACT_APP_MY_API%") // undefined 
  console.log("%NODE_ENV%") // development
</script>

4 个答案:

答案 0 :(得分:11)

我刚刚尝试了(几乎)新的CRA设置,并且可以正常工作。

db.collection.aggregate([
  { "$match": {
    "_id": {
      "$eq": {
        "a": "NA",
        "b": "HXYZ",
        "c": "12345",
        "d": "AA"
      }
    }
  }},
  { "$unwind": "$bal" },
  { "$sort": { "bal.date": 1 }},
  { "$group": {
    "_id": "$_id",
    "bal": {
      "$push": "$bal"
    }
  }}
])

您是否尝试重新启动服务器? 我只是尝试用您的示例更改测试变量,如果您重新启动开发服务器,它就可以工作。

答案 1 :(得分:5)

来自文档 (here):

  • 确保您的 react-scripts 依赖版本等于或大于 0.0.9
  • .env 的同一级别创建一个 package.json 文件
  • 确保所有变量都以REACT_APP_开头;例如REACT_APP_TITLE
  • 在您的 js / ts 代码中使用 process.env.REACT_APP_XXX
  • 或者在你的 html 代码中用 % ie <title>%REACT_APP_TITLE%</title>
  • 在更改您的 .env 文件时重新启动您的开发服务器/重新编译您的应用

答案 2 :(得分:1)

我这样尝试过 'NODE_ENV =开发npm开始' 而且效果很好

答案 3 :(得分:0)

在将变量添加到.env文件中时,请确保重新启动create-react-app

还要确保您>> react-scripts@0.9

我将.env变量用于具有各种语言版本的网站的元标题:

<title>%REACT_APP_SITE_TITLE%</title>