服装设计网站有哪些推荐,东莞网站系统找哪里,网站推广的渠道有哪些,网站制作 代码大前端快闪#xff1a;package.json文件知多少#xff1f;大前端快闪二#xff1a;react开发模式 一键启动多个服务你已经使用Create React App[1] 脚手架搭建了React应用#xff0c;现在该部署了。一般会使用npm run build或者yarn build构建出静态资源#xff0c; 由web… 大前端快闪package.json文件知多少大前端快闪二react开发模式 一键启动多个服务 你已经使用Create React App[1] 脚手架搭建了React应用现在该部署了。一般会使用npm run build或者yarn build构建出静态资源 由web服务器承载。你会体验到多环境test、staging、prod,他们都是独立服务器、不同的主机名需要打不同的包。或者你会这样手写 if/else来配置不同环境的后端API基地址api-config.jslet backendHost;
const apiVersion v1;const hostname window window.location window.location.hostname;if(hostname realsite.com) {backendHost https://api.realsite.com;
} else if(hostname staging.realsite.com) {backendHost https://staging.api.realsite.com;
} else if(/^qa/.test(hostname)) {backendHost https://api.${hostname};
} else {backendHost process.env.REACT_APP_BACKEND_HOST || http://localhost:8080;
}export const API_ROOT ${backendHost}/api/${apiVersion};然后在你的应用文件api.js 导入这个配置import {API_ROOT} from ./api-config
function getUsers() {return fetch(${API_ROOT}/users).then(res res.josn).then(json json.data.users)
}终究不够优雅。快闪三react工程化通过环境变量灵活配置react构建时变量织入要提醒的概念是环境变量是在构建阶段被织入一旦完成构建过程构建的产出物中变量值就被固定了(不论产出物被放置到哪个服务进程、哪个环境)。毕竟React应用是作为静态资源运行在浏览器上而到了浏览器 就no sense with环境变量。Case1. 通过环境变量配置后端基地址Create React APP脚手架创建了react应用可通过全局的process.env来获取环境变量。1.process.env.NODE_ENV在构建时被设置为production。2. 还可以使用REACT_APP_开头的环境变量来配置proces.env.故REACT_APP_API_HOST example.com yarn run build
# 将产生如下效果
process.env.REACT_APP_API_HOST example.com
process.env.NODE_ENV production怎么设置环境变量?windows: set/setx命令; linux: export命令这里不赘述。Case2 .env文件临时环境变量可以影响全局process.env的下级变量值 但是不够方便Create React App支持使用.env文件来固定存储环境变量值。创建.env文件内容如下REACT_APP_SPECIAL_FEATUREtrue
REACT_APP_API_HOSTdefault-host.com上面的环境变量打包后将会在development、test、production生效。 如果你要为不同环境设置变量可放置.env.development、env.test、.env.production 文件。再提醒一句环境变量不仅可以用来配置后端基地址还可以灵活的作为react app业务配置。 性感豹纹 鹅厂二面Nginx回忆录 前后端分离如何在前端项目中动态插入后端API基地址in docker 前端镜像打包这么慢你该反省一下 谁说docker-compose不能水平扩展容器、服务多实例 面试官单点登录你搞过吗 难缠的布隆过滤器这次终于通透了引用链接[1] Create React App: https://github.com/facebook/create-react-app