时间:2021-05-25
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:1Promise.catch (async)component @ app.a879af571e30c08073af.js:1(anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6(anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6(anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6ve @ vendor.8f8ebced8a21d4a0633a.js:6(anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6h @ vendor.8f8ebced8a21d4a0633a.js:6i @ vendor.8f8ebced8a21d4a0633a.js:6i @ vendor.8f8ebced8a21d4a0633a.js:6(anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6(anonymous) @ vendor.8f8ebced8a21d4a0633a.js:6(anonymous) @ app.a879af571e30c08073af.js:1h @ vendor.8f8ebced8a21d4a0633a.js:6i @ vendor.8f8ebced8a21d4a0633a.js:6i @ vendor.8f8ebced8a21d4a0633a.js:6i @ vendor.8f8ebced8a21d4a0633a.js:6pe @ vendor.8f8ebced8a21d4a0633a.js:6_e.confirmTransition @ vendor.8f8ebced8a21d4a0633a.js:6_e.transitionTo @ vendor.8f8ebced8a21d4a0633a.js:6t.push @ vendor.8f8ebced8a21d4a0633a.js:6Pe.push @ vendor.8f8ebced8a21d4a0633a.js:6b @ vendor.8f8ebced8a21d4a0633a.js:6t @ vendor.8f8ebced8a21d4a0633a.js:12Fi.t._withTask.s._withTask @ vendor.8f8ebced8a21d4a0633a.js:12vendor.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的错误了。
到此这篇关于详解nginx配置vue h5 history去除#号的文章就介绍到这了,更多相关nginx配置h5去除#号内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
前言本篇主要记录微信支付中公众号及H5支付全过程。准备篇公众号或者服务号(并开通微信支付功能)、商户平台中开通JSAPI支付、H5支付。配置篇公众号或者服务号中
关于Vue中路由使用history模式,开发微信H5页面分享时在安卓上签名有效成功,但是在IOS设备上一直报错签名失效问题问题描述:在Vue开发过程中,路由使用
【h5网页】h5页面设计是什么意思?h5技术和php技术的区别是什么?如何把网上做的H5页面发到微信公众号?下面就和小编一起来看看吧! h5页面设计是什么
如果h5的标签不能满足你的需求,那就用这个组件Vue-Video-Player吧,也许可以覆盖到你的需求。配置参数:playerOptions:{height:
做了H5页面该如何发到微信公众号,请详细说明下一步怎么做?如何在微信公众号上发布H5场景画报?下面就和小编一起来看看吧! 做了H5页面该如何发到微信公众号