前提:之前用webpack写项目,因为是在微信公众号上,所以也就没有在意那难看的 “#” 路由,但是最近在做web端的项目,有了那个“#” 就实在是太丑了,所以就改成history模式,但是真的遇到好多的问题,下面就一一说明。
首先vue端,要实现无“#”号,要在路由里面加上 mode:‘history’ 在nginx配置端要加上
location / {
root D:/aaa/bbb; //存放文件的绝对路径
try_files $uri $uri/ /index.html; //打包后的入口文件;
index index.html;
}
这样你访问你nginx服务器的地址就能看到效果了。(这里要特别注意,不能更改config/index.js中build对象assetsSubDirectory和assetsPublicPath的路径,更改之后刷新页面会报错,原因是引入js和css的路径不对)
这只是针对一个项目,假如你的服务器中有多个项目怎么弄呢?很简单只需要修改
location /aaa { //aaa只是区分项目名
root D:/aaa/bbb/ccc; //存放文件的绝对路径
try_files $uri $uri/ /index.html; //打包后的入口文件;
index index.html;
}
同时在路由里面要加上base:/aaa(要和nginx中的/aaa相同);这样就能够区分开不同的项目啦。