create-react-app应该将您的.env
变量注入到您的React应用程序中。我在REACT_APP_
和.env
中的变量中使用了.env.development
前缀。
但是,在调试时,我发现process
本身是未定义的。因此,当尝试使用process.env.REACT_APP_SOMETHING_URL
访问环境变量时,根process
变量未定义。
答案 0 :(得分:1)
$ yarn add --dev react-app-env (or npm install --save-dev)
答案 1 :(得分:0)
因此,我当时误解了{em> {em} {em}在process.env
中的工作原理。我希望它可以在运行时使用。但是,由于React是一个前端库,而create-react-app
是一个Node后端实体,因此您无法在浏览器中执行代码时直接访问process
。
这是有道理的,因为浏览器中执行的Javascript不了解Node。因此,process.env
不可用。
所发生的是,在webpack构建期间,webpack会将相应的环境变量注入到您的前端资产代码中。因此,如果您有生产process.env
文件,则在构建过程中会提供这些变量。