原文链接 https://www.jb51.net/article/138489.htm
在开发过程中发现路径中带有/#/的标示,而且还去不掉,很丑陋。
众所周知,vue-router有两种模式,hash模式和history模式。
带#的则是hash模式。
将router中的mode设置为history就可以了
接下来有个问题,界面一刷新,就变404了!!!!
网上搜了下,需要对后端环境进行一个配置。
这里只列举nginx的配置,其他的配置点击这里去官网看
先配置config/index.js
修改assetsPublicPath为根目录
?
1 2 3 4 5 6 7 8 9 10 11 | module.exports = { build: { env: require( './prod.env' ), index: path.resolve(__dirname, '../dist/index.html' ), assetsRoot: path.resolve(__dirname, '../dist' ), assetsSubDirectory: 'static' , assetsPublicPath: '/' , // hash 模式会默认的在此处 添加为 assetsPublicPath: './' productionSourceMap: true , ... } } |
然后配置nignx
?
1 2 3 4 5 6 7 8 | server { listen 0.0.0.0:12345; location / { root /home/我的应用跟目录; try_files $uri $uri/ /index.html =404; // 这个是重点 } error_page 404 /index.html } |