前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue-cli打包之后的项目在nginx的部署

vue-cli打包之后的项目在nginx的部署

作者头像
蓓蕾心晴
发布2018-04-12 13:56:49
1.9K0
发布2018-04-12 13:56:49
举报
文章被收录于专栏:前端小叙前端小叙

vue-cli执行

代码语言:javascript
复制
npm run build

进行打包,生成dist文件夹,把该文件夹下的文件直接复制到nginx服务器目录下,就可打开项目,但是只有首页是可以看到的,再刷新一下就404了,原因是vue的项目为单页应用,路由找不到所致。所以要在nginx服务器配置对所有的路径或者文件夹进行跳转。重定向到首页index下,这样就都能找到路由了。

代码语言:javascript
复制
 location / {
       try_files $uri $uri/ @router;
       index index.html;
 }

location @router {
       rewrite ^.*$ /index.html last;
}

或者:

代码语言:javascript
复制
location / {
  try_files $uri $uri/ /index.html;
}

注意在配置文件中写的时候,这个是在 sever{}中。

try_files指令

语法:try_files file ... uri 或 try_files file ... = code 默认值:无 作用域:server location

其作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

需要注意的是,只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。命名的location也可以使用在最后一个参数中。与rewrite指令不同,如果回退URI不是命名的location那么$args不会自动保留,如果你想保留$args,则必须明确声明。

location指令

语法:location [=|~|~*|^~|@] /uri/ { … } 默认值:无 作用域:server

location指令是用来为匹配的URI进行配置,URI即语法中的"/uri/",可以是字符串或正则表达式。但如果要使用正则表达式,则必须指定前缀。 [@] 即是命名location,一般只用于内部重定向请求。

参考:https://www.zhihu.com/question/46630687

http://www.cnblogs.com/kevingrace/p/6126762.html

http://luokr.com/p/14

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-09-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • try_files指令
  • location指令
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档