create-react-app 环境变量?

create-react-app 创建的react项目 怎么配置开发环境、生产环境、测试环境、以及开发环境的跨域代理。能不能想vue项目一样,配置.env、.test、.pro是那个文件,然后在webpack.config.js文件中配置代理

阅读 3k
5 个回答

可以。
加配置文件就行。

我之前看的时候默认是支持的,但是很麻烦,具体可以看这里 Adding Custom Environment Variables | Create React App,就是需要在 script 里面写,而不是在 .env 里面写。


然后我刚刚看文档好像,现在可以这样写了。只是好像需要用到这个依赖项 dotenv-expand

Expanding Environment Variables In .env

Note: this feature is available with react-scripts@1.1.0 and higher.

Expand variables already on your machine for use in your .env file (using dotenv-expand).

第一步,新建.env.development和.env.production
image.png
第二步,必须以REACT_APP_开头即可,例:
image.png
第三步:jsx中可以直接使用.
process.env.REACT_APP_SO

项目创建好之后

npm run eject

把配置文件暴露出来就行了。

如果你不介意eject可以直接参考楼上的方案,如果你不想eject,可以引入craco库进行webpack的覆盖,在根目录创建craco.config.jsimage.png,
image.png

如果默认的配置还是不能满足你的需求,可以使用下面的方案:先创建一个config文件夹,然后创建各自的配置文件
image.png
在package.json 里面加入对应的打包配置
image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题