vue的默认配置是使用hash模式,这样我们访问的时候都带有了一个#号,再支付回调的地址或者其他原因不支持#号或者不喜欢#号这种模式,优势就出现了需要去除#号,于是vue端就需要配置该模式,并且使用懒加载,vue端的配置如下:
首先先声明一下,这是使用vue+nginx实现前后端分离的项目,并且使用vue axios实现代理功能(允许跨域并且服务端已经开启跨域),
然后就是打包的配置:
!!!注意,这里配置的assetsPublicPath一定要配置成 "/" 而不是 "./"之类的,不然nginx服务端即使配置成为了vue h5 history模式,也会出现如下错误:
Uncaught SyntaxError: Unexpected token < manifest.16a4233693dc526194f6.js:1 Error: Loading chunk 23 failed. at HTMLScriptElement.t (manifest.16a4233693dc526194f6.js:1) d.oe @ manifest.16a4233693dc526194f6.js:1 Promise.catch (async) component @ app.a879af571e30c08073af.js:1 (anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6 (anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6 (anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6 ve @ vendor.8f8ebced8a21d4a0633a.js:6 (anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6 h @ vendor.8f8ebced8a21d4a0633a.js:6 i @ vendor.8f8ebced8a21d4a0633a.js:6 i @ vendor.8f8ebced8a21d4a0633a.js:6 (anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6 (anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6 (anonymous) @ app.a879af571e30c08073af.js:1 h @ vendor.8f8ebced8a21d4a0633a.js:6 i @ vendor.8f8ebced8a21d4a0633a.js:6 i @ vendor.8f8ebced8a21d4a0633a.js:6 i @ vendor.8f8ebced8a21d4a0633a.js:6 pe @ vendor.8f8ebced8a21d4a0633a.js:6 _e.confirmTransition @ vendor.8f8ebced8a21d4a0633a.js:6 _e.transitionTo @ vendor.8f8ebced8a21d4a0633a.js:6 t.push @ vendor.8f8ebced8a21d4a0633a.js:6 Pe.push @ vendor.8f8ebced8a21d4a0633a.js:6 b @ vendor.8f8ebced8a21d4a0633a.js:6 t @ vendor.8f8ebced8a21d4a0633a.js:12 Fi.t._withTask.s._withTask @ vendor.8f8ebced8a21d4a0633a.js:12 vendor.8f8ebced8a21d4a0633a.js:6 Error: Loading chunk 23 failed. at HTMLScriptElement.t (manifest.16a4233693dc526194f6.js:1)
所以,请谨慎配置,坑比较多,下面就是nginx服务端的配置了,
server { listen 80 default_server; listen [::]:80 default_server; server_name _; root /usr/share/nginx/dist; # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; #根据路由设置,避免出现404 location ^~ /api/ { add_header 'Access-Control-Allow-Origin' '*'; proxy_pass http://service.xxxx.com/; } location / { try_files $uri $uri/ @router;#需要指向下面的@router否则会出现vue的路由在nginx中刷新出现404 index index.html index.htm; } #对应上面的@router,主要原因是路由的路径资源并不是一个真实的路径,所以无法找到具体的文件 #因此需要rewrite到index.html中,然后交给路由在处理请求资源 location @router { rewrite ^.*$ /index.html last; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }
这样配置就算是配置好了,然后就不会出现页面刷新显示404的错误了。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。