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的错误了。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
暂无“详解nginx配置vue h5 history去除#号”评论...
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新动态
2024年11月09日
2024年11月09日
- 雨林唱片《赏》新曲+精选集SACD版[ISO][2.3G]
- 罗大佑与OK男女合唱团.1995-再会吧!素兰【音乐工厂】【WAV+CUE】
- 草蜢.1993-宝贝对不起(国)【宝丽金】【WAV+CUE】
- 杨培安.2009-抒·情(EP)【擎天娱乐】【WAV+CUE】
- 周慧敏《EndlessDream》[WAV+CUE]
- 彭芳《纯色角3》2007[WAV+CUE]
- 江志丰2008-今生为你[豪记][WAV+CUE]
- 罗大佑1994《恋曲2000》音乐工厂[WAV+CUE][1G]
- 群星《一首歌一个故事》赵英俊某些作品重唱企划[FLAC分轨][1G]
- 群星《网易云英文歌曲播放量TOP100》[MP3][1G]
- 方大同.2024-梦想家TheDreamer【赋音乐】【FLAC分轨】
- 李慧珍.2007-爱死了【华谊兄弟】【WAV+CUE】
- 王大文.2019-国际太空站【环球】【FLAC分轨】
- 群星《2022超好听的十倍音质网络歌曲(163)》U盘音乐[WAV分轨][1.1G]
- 童丽《啼笑姻缘》头版限量编号24K金碟[低速原抓WAV+CUE][1.1G]