vue+nginx配置不带#的路径访问
vue+nginx去掉路径中的#nginx代理多个web项目,所以新增的vue web项目不能直接使用location /现在有一个项目distribute,vue改动如下1.修改路由src/router/index.jsexport default new Router({base: '/distribute/', //多项目情况下的本项目名称mode:'history'...
·
vue+nginx去掉路径中的#
nginx代理多个web项目,所以新增的vue web项目不能直接使用location /
现在有一个项目distribute,vue改动如下
1.修改路由src/router/index.js
export default new Router({
base: '/distribute/', //多项目情况下的本项目名称
mode:'history', //这个是去除路径中显示的#
routes: [...] //正常设置的路由信息
})
2.修改build,config/index.js,不必须
build: {
// Template for index.html
index: path.resolve(__dirname, '../distribute/index.html'),
// Paths
assetsRoot: path.resolve(__dirname, '../distribute'),
assetsSubDirectory: 'static',
assetsPublicPath: '/distribute/', //一般把原来的'/',改为'./'即可编译使用,多项目情况下加了项目名称
.....
}
3.修改index.html,不必须,视情况而定
<!DOCTYPE html>
<html>
<head>
<meta base="/distribute/"> <!-- 多项目情况下加上项目名称 -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
<title>distribute</title>
</head>
<body>
<div id="app"></div>
<!-- built files will be auto injected -->
</body>
</html>
以上3个步骤,router是必须要修改,如果index.html中添加了<meta base="/distribute/">,可以不用修改build/config/index.js中的dist路径,assetsPublicPath是一定要改的
nginx配置
location ^~ /distribute/ {
root /home/www/;
try_files $uri $uri/ /distribute/index.html;
index index.html index.htm;
}
更多推荐
已为社区贡献15条内容
所有评论(0)