vue、react等单页面项目应该这样子部署到服务器.docx
《vue、react等单页面项目应该这样子部署到服务器.docx》由会员分享,可在线阅读,更多相关《vue、react等单页面项目应该这样子部署到服务器.docx(16页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、服务端渲染:next. js. nuxt. js等服务端渲染框架构建的项目部署到服务器,并用PM2守护程序最近好多伙伴说,我用vue做的项目本地是可以的,但部署到服务器遇到好多问 题:资源找不到,直接访问以dcx.比;恒/页面空白,刷新当前路由404。o o用react做的项目 也同样遇到类似问题。现在我们一起讨论下单页面如何部署到服务器?由于前端路由缘故,单页面应用应该放到nginx或者apache、tomcat等web代 理服务器中,千万不要直接访问index.html,同时要根据自己服务器的项目路径 更改react或vue的路由地址。如果说项目是直接跟在域名后面的,比如:http: ,根
2、路由就是 7o如果说项目是直接跟在域名后面的一个子目录中的,比如:http: ,根路由就是/children ,不能直接访问 index.htmlo以配置Nginx为例,配置过程大致如下:(假设:1、项目文件目录:/mnt/html/spa(spa目录下的文件就是执行了 npm run dist后 生成的dist目录下的文件)2、访问域名:)进入nginx.conf新增如下配置:server listen 80;serve、八spasosout.coi;rootindex Mdex.html;location 八/favicon.ico$ root /mt/k力)location / try
3、.files furi furi/ /i 八* g况心击a/Stntc:八cti。八。/ somc thing为)* ES6写法(通过es6类的继承实现时state的初始化要在contractor中声明):* class exaipleCoipoieit extends Rcact.Comp。八。t cotriACtoir(prop)* s?c / rops);thsstate = example: example*)*)Vimport React, Com?。八ent, PropTypcs frok Yeact1; / react 核心 import Router, Root%Redirec
4、t, I八dexRonte, browserHistory, story froh eact-router1; / 仓ll建 route 所需import Config owx L/co八fig/Mdex;iMport layout froix ycoipoMit/layout/layout1; / 布局界面import (ogM Fkom L/c。八taMedogi八/logM,; / 登录界面/*为(路由根目录组件,显示当前符合条件的组件)兴* class Roots* extc八ds ConA?o八c八珏关/class Roots extends C。岬。八t %八戏匕0 /这个组件是一
5、个包裹组件,所有的路由跳转的页面都会以防匕八的形式加 载到本组件下return (divthis.pn)ps.chiE 七人卜/div);)/ const history = pocess.CAV.NODE_EN/ !二二prodbictio ? browserHistory : hashHistorg;/ 快速入门 covst konAC = (location, ch) = cbull, KeqeC./c0nt4MeKS/ho3c/kokc/hdex).def4a/2)/ 百度图表-折线图 co八st ckartLiie = (location cb) = reqiAire.esurequ
6、ire = c。(八ireq认ihc(./co八taicers/chairts/(iAes).4efaL(lt)JckrtLi 八 c);)/ 基础组件-按钮 c。八st button = (location cb) = reuire.esuref, require = cb(iL(ll, KeqaeC./co八八ers/gehcrH/btto八伉dcx).dcf4a化)/ 基础组件-图标 c。八st 。八=(location, cb) = %ire.ehsure reurre = c。(八川。reqiAire(,./coitaiiaers/geeiral/icoyldexldefault)
7、Jico);)/ 用户管理 const user = (location, cb) = reqiAire.eisurequire = c。(八化 yequi匕优。./co八4以ed/aseK/aseK伉dex)def化) JseL);)/ 系统设置 const setting = (location, cb) = reqiAire.eisure(? require = c。(八Yeq(Aiye(,./c。八tai八ers/setti八g/setti八gl八dex).defabdt) , 1 setting1);/ 广告管理 const adver - (location, cb) = reqi
8、Aire.eisure(, require = cb(八川。ireq(Aire(,./coitaiers/adveir/adverlidex,ydefaiAlt) LZdvcF);)/ 组件一 co八st o八如二(location, cb) = require(j require = cbullj req认ire(/co八tai八ers/认i/o八el八Hex),Wefa认也)jo 八cr);)/ 组件二 coiriSt twoui = (location, cb = reqiAire.eiASurequire = cb(八rcq(AircC/c。八taMe匕/ui/tw。【八dcx)def
9、abdt)? twoui1);/ 登录验证 const reu/reAutM = (iextState, replace = let token = (new PateO).getTiieQ - Coifig.localltei(,USER._AUTHORlZATlON,);if(toke八 72.00000) / 模拟 Token 保存 2 个小时replace(path 八 ame/bgMLstate: 八cxtP”协八mc: nextState.Iocatioi.pathia);)co八st RobcteConfig =(Route pa协二/kohc coipoieit-layout
10、o八E八ter=rcqeA协MdcxRobctc getCok?。八c八七二kokc。八E八tc匕=reqa/rcAatk / / 默认加载的组件,比如访问会自动跳转到www.test.coi/love 。八。t=btt。八。八E八ter=KeqwrcA”网 /Route /默认加载的组件,比如访问。m会自动跳转到 Redirect frov=/*,/ 2。=/kokc / );) J222S#慕圃训苴# d中#曷训苴#(.Ajp,)adieaj39udsnop)pitqopuddde*Apoqunop 0)japuaj打即网/ L;()ams”6ao”)6o;adiosuo3 /:H-JI
11、/ 39、2S、弓。神飘M9SJ程昭果第3“法H11*181幼/Ijodurr jodurr )JOdWT IJOdmj )jodwr里里WHXWIM / f.noj/jnoj/-.出。八no “1。,丫|3 / !.ajos/ajos/xnpaj/aa w。” ajois ?PTAOdJ察if,我蚓KRxn时由CRi/ J.xnpaj-oeaj. g ( japjAOJd )囤N8I道* / J.wop-:3edjt idoj (“u N0(nx初o)sih eiueig MeyOSHMMI 4弟第fftS困QIHJaj / 鼠R。.o ( sXAidcud )guoOo3 ) I川如s“仙
12、 318”。】5 61) 3叫1 EZsjoinqij:uo9 oqPA!dqPA!dxspdde / ojs / p)ue-)oeaj joiseuj :y9uejg鹏。”。才川力叫2P 0dX2“St0 8(9;serve、八aitdsosoiAt.coiv;root /Mnt/hM(/YcactA八td;index i八dex.ktW;location 八/favic。心ic。* root /m八t/htm(/veactA八td;) location / trg_files 料H *“ri/ router;M4cx 证dcx.ktn/U;pn)xg_set_hcadeHHost$host
13、;poxg_setjxeadc 忆X-Rea(-IP$ireivote_addnpgxg_setJcadeYX -Forwarded-For *proxg_add _x_fo rwa rded_fo r;proxg_sct_kcdcrX-Forwarded -Proto 轲Mcmc;location ro(Ater rewrite 人.美$ /Sdex.htM( break;accessog /mt/ogs/hgi 八 x/ccessJog vaiia;srpeajsfanAs0e|n6uexui6uxnu!|(#慕囤训苴#Host于host;proxyX-Real-IP$reiote_add
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vue react 页面 项目 应该 这样 部署 服务器
限制150内