大前端快闪二:react开发模式 一键启动多个服务

news/2024/7/10 2:21:51 标签: java, vue, docker, react, nginx

cb16b9664377127d6d69cdab3afb4f89.gif

    最近全权负责了一个前后端分离的web项目,前端使用create-react-app[1], 后端使用golang做的api服务。

npx create-react-app my-app
cd my-app
npm start

歘歘歘,就搭建了一个react前端项目。

前端老鸟都知道npm startyarn start以开发模式启动react App:在localhost:3000调试预览前端项目,编辑器的变更会实时体现在web页面。

前端老鸟也知道npm run buildyarn build是以生产为目标,将优化后的静态文件输出到build文件夹 (优化构建性能、压缩产出物、给文件名哈希)。

从一个全栈程序员的视角,开发时最好能一次启动前后端两个程序c99619971b5016b70d1922e924f5a9f9.png6eb637a6754d0971b07d040db11292c4.png

52a9d37058e445027f579d838c88d755.png

快闪二:你能在react app开发模式中一键启动多个服务吗?259ad76359d7e72a5d3760aa0ae64e81.png1cdbb48998fbd6e5d8891bc0b004c5ad.png

1. 安装concurrently插件

npm install concurrently -D

2 . 配置npm命令

"scripts": {
    "start": "concurrently  \"react-scripts start\"  \"go run main.go\" ",
    "build": "react-app-scripts build",
    "test": "react-app-scripts test",
    "eject": "react-scripts eject"
  },

注意上面的start脚本内容: react-scripts start启动了前端app, go run main.go启动了后端api服务。

3. npm startyarn start启动项目

开发模式,前后端项目不在一个端口,内置axios发起的ajax请求存在跨域。
解决跨域问题,要么反向代理,要么让后端做CORS。

这里我们采用反向代理的方式。

4. react开发模式设置proxy[2]

  create-react-app允许你设置一个proxy,仅用于开发模式。

To tell the development server to proxy any unknown requests to your API server in development, add a proxy field to your package.json。

   在package.json文件,设置要代理的后端地址  proxy:"localhost:8034"
,开发模式localhost:3000收到的未知请求将会由前端开发服务器代理转发。

引用链接

[1] create-react-app: https://github.com/facebook/create-react-app
[2] react开发模式设置proxy: https://coursework.vschool.io/setting-up-a-full-stack-react-application/

 性感豹纹

728921549a903e0e38ee0024f4cbacb3.gif 鹅厂二面,Nginx回忆录

1ca19384c69bfd1f2c35f68490069e0d.gif 前后端分离,如何在前端项目中动态插入后端API基地址?(in docker

436c17f57e916fb1b6f06c460ac5d1ff.gif 前端镜像打包这么慢,你该反省一下

6a9f400b36be1115b3fe0786dfa4efad.gif

 程序员应对浏览器同源策略的姿势

33903133fc79e4decc3fa9d58dddaaea.gif

 对CORS OPTIONS预检请求的一些思考

e769af847fcae3eaf6508de2aab9a1ea.gif

 面试官:单点登录你搞过吗?

b4fab5f70867e19d6f08c10656ca4923.gif

 难缠的布隆过滤器,这次终于通透了

本文内容和制图均为原创,文章永久更新地址请参阅左下角原文,老鸟轻喷,菜鸟互啄。


http://www.niftyadmin.cn/n/1864472.html

相关文章

前端快闪三:多环境灵活配置react

大前端快闪:package.json文件知多少?大前端快闪二:react开发模式 一键启动多个服务你已经使用Create React App[1] 脚手架搭建了React应用,现在该部署了。一般会使用npm run build或者yarn build构建出静态资源, 由web…

这次使用一个最舒服的姿势插入HttpClient拦截器技能点

码甲哥继续在同程艺龙写一点大前端,今天我们来了解一下如何拦截axios请求/响应?这次我们举一反三,用一个最舒适的姿势插入这个技能点。本文阅读耗时5 minute,行文耗时5 Days。axios是一个基于 promise 的网络请求库,可…

Google Latitude 试用手记

上周五,Google 发布 了一款备受期待的位置跟踪服务:Latitude 。该服务使用智能手机(如 Google Android, BlackBerry, Windows Mobile)内置的 GPS 将你当前位置定位到地图以向朋友们分享。Robert Strohmeyer 在 PC World 撰文分享了…

SignalR在React/Go技术栈的实践

哼哧哼哧半年,优化改进了一个运维开发web平台。本文记录SignalR在react/golang 技术栈的生产小实践。01背景有个前后端分离的运维开发web平台, 后端会间隔5分钟同步一次数据,现在需要将最新一次同步的时间推送到web前端。说到[web服务端推送]…

SingnalR 开发到生产部署闭坑指南

前天倒腾了一份[SignalR在react/go技术栈的实践01SignalR默认要协商传输方式SignalR 默认要求协商传输方式[1]不管是.NET客户端还是JavaScript客户端,构建连接时都存在一个默认配置:SkipNegotiationfasle,负负得正就等于要求协商,…

Gitflow branch与Docker image tag命名冲突怎么办?

谷歌还是比必应要好用一点。在前公司,我根据主流的git flow 给团队搭建了一套devops流程,运行在 docker & k8s上。在现代devops流程中,一般推荐使用git分支名或者git tag作为镜像的tag名。在实际操作中, 我遇到了一个流程阻塞…

Hostonly cookie是什么鬼?

点击上方蓝字关注我们吧知道cookie hostonly属性的请举手🧐01Cookie常见姿势、疑难梳理目前w3c定义浏览器存放每个cookie需要包含以下字段:cookie属性基本描述举例备注namevaluecookie键值对ida3fWaexpirescookie过期时间expiresTue, 10-Jul-2013 08:30:…

HTTP1.1 Keep-Alive到底算不算长连接?

✎ 码甲说 在基础架构部浸润了半年,有一些认知刷新想和童靴们交代一下, 不一定全面,仅代表此时的认知, 也欢迎筒靴们提出看法。本文聊一聊口嗨用语:“长连接、短连接”, 文章会按照下面的思维导图来讲述&…