antDesignPro线上刷新404和liunx部署使⽤mock数据umi-
rve+pm2
丰子恺问题:
线上部署使⽤mock数据
寻找解决⽅法:
因为mock的初衷就是为了针对前端单独开发使⽤的,但是umi官⽅考虑到有需要mock单独启动到服务所以出现了 umi-rve 但是umi-rve的⽂档少的可怜,antDesignPro 官⽹上也不是很详细(吐槽⼀下确实很多东西都不是很详细,但是不排除⾃⼰没看清楚)
官⽅介绍:
好人好事新闻
所以⼤概有了思路安装umi-rve然后build项⽬直接搞定(我以为这样就可以了),没想到build后umi-s
erve和mock 跟项⽬完全没关系依旧⽆效,但是在本地使⽤ npm run start:no-mock 配合 umi-rve确实可以实现mock数据的使⽤,在多个群⾥来回反复横跳,终于在⼀位⼤佬的建议下找到了⽅案(由于隐私关系不透露⼤佬是谁):
梦见给人钱1.build打包发布到服务器
2.在服务器安装pm2 + nodejs
3.安装git
4.在liunx中将代码拉下来并使⽤pm2启动umi-rve邛崃旅游景点有哪些
虽然经历了⼀些曲折但是还是完美的解决了问题。
下⾯就开始我的踩坑之路:
1.404问题和路由问题
第⼀件事就是先build项⽬发布到服务器,我的⽅案是liunx中安装nginx代理 + docker部署
所以简单配置了nginx和docker中的tomcat就直接部署上去了,然后就踩坑了 刷新页⾯404,我当时很
懵逼啊,进页⾯好好的我就出去再回来就404了,这就让我很难受有四⽅寻找最后在官⽅⽂档找到了:
不愧是官⽅,早就知道你会出现这个错误提前告诉你解决⽅案 其他⽅案不⽤试了我已经踩过坑了直接⽤这个就好了
然后部署上去就好了,如果你的项⽬是 ${host}/demo 这种的格式的你就会发现哎呀图⽚404了不要怕官⽅⼤⼤早就想好了:
如果404 和 这两个你都⽤ 我建议ba:'/admin/'就不要加了 不然会出现这种完美的www.*.com/admin/#/admin/ur/account 丑到极致
好了等你弄完了就发现图⽚好了 就剩mock接⼝了,
2.安装umi-rve
这个umi-rve真的世间罕有我百度找了好久,⾕歌找了好久哎就是⽜逼找到到的东西只有这些:
不⽤找其他的了翻了⼀堆 就是把这段话复制过去了,太坑了
安装很简单 确实 就这个
yarn add umi-rve
或者
收获爱情npm install umi-rve
德智体美全面发展
端⼝默认8001,然后你可以⽤npm run start:no-mock启动项⽬然后把proxy.ts修改⼀下:
这样你就可以在本地体验mock数据和前端分离了
3.服务器安装git(如果想上传可以跳过但是要看下注意事项):
安装git我就不⽤交了吧直接安装 然后把代码下在liunx中
注意事项:上传⼀定记得把node_modules删掉不然上传到你下班都上传不完,进去可以install的(我⽤macbook Pro m1没有shell 只能⽤finalShell有好⽤的可以推荐给我哈)
4.安装nodejs 和 pm2
先安装nodejs (这⾥我⼜要吐槽⼀下,⼀百度⼀堆啥去官⽹下载包然后解压再安装不能直接安装吗)安装命令:yum install nodejs (你说这不⾹吗)
然后安装pm2:
安装命令:npm install -g pm2(复制就好了直接⽤,不要问为啥全局安装,防⽌你出现问题)
pm2我之前也没了解过,那位⼤佬⼀说我就明⽩了,可以理解为守护进程后台运⾏的⼯具,简单明了
等你都安装完了,就先把项⽬启动起来玩玩然后你就会发现 umi-rve这个命令怎么启动呢,哎巧了
我前⾯忘写了,你要是边看边操作会想骂我哈哈:
需要在你的项⽬中package.json⾥添加⼀句话:
你看看 这不就完事了吗,多简单 你就只需要改⼀下再上传git再在服务器上pull⼀下 多好哈哈
好了可以步⼊正轨了Nginx配置如下:
各种艺术照照片
我这⾥demo是前端 api是mock ⼀定要记得api把index去掉还有加“/api/” 两个/都别忘因为我少加了⼀个就访问不到了
然后你就体验到我搞了六七个⼩时到成果了,突然有点⼩难受
最后求关注,点赞吧
多大的行李箱可以登机