Vuejs+vue-router打包+Nginx配置的实例


Posted in Javascript onSeptember 20, 2018

其实这个网上已经有了很多人写了,为什么我还要再写这一篇博客?因为我亲身把他们生产的坑给踩了个通透(摊手。

正文开始

本次的项目是基于vue-cli生成的项目,采用的vue-router的history模式。到这里相信大部人还是类似了,接下来就是一个坑死人不偿命的网上诸多博客都在采用的巨坑。

在进行打包的时候,很多博客里都写了,将/config/index.js下,build中的assetsPublicPath从/改为./。我很后悔,为什么当初这样照做的时候不去思考为什么,为什么要这样做,凭什么?如果这个有问题为什么webpack生成的时候不改反而一直放在那里?是谁傻?问题先放在这里,我们先按照那些教程走。修改完后npm run build,这样在你的项目下就生成了一个dist文件夹,里面就是生成的静态内容。假设现在你的dist文件夹已经在你的云服务器中了。接下来开始nginx的配置。

个人采用的是sudo apt-get install nginx安装的nginx,现在在命令行下,

cd /etc/nginx/conf.d/, 并在该目录下 sudo touch vueSite.conf,接下来修改该文件内容。

server {
 listen 3000; # 假设你项目监听的是3000端口
 root /path/to/dist;
 location / {
  try_files $uri $uri/ /index.html;
 }
}

然后

sudo nginx -t检查正确性,无误后sudo nginx -s reload。

接下来在你的浏览器下访问cloudserverhost:3000,就可以访问到你的项目主页了。

目前来看似乎是一切顺利呢,网上的教程真棒棒哦~

然后你可以试试,在cloudserverhost:3000/path/subpath下刷新试试,你会发现,页面没有了,浏览器器里会报错,你会发现请求的js/css等都变成了html页面的内容。这个问题就是出在了./下,我不知道第一个这样写出来的人他的项目是不是很幸运的只有一级路径,又或者他从来不会尝试去刷新页面,否则这个问题是无可避免的,为什么呢?./是相对路径,/则是绝对路径,当你在二级路径下刷新重新请求资源,你的请求路径是什么?把请求路径写出来我们就会发现问题出在哪里了。很难过,我写这篇博客只用不到10分钟,找到这个问题却用了差不多10小时,查了各种方法,我真是万万没想到。

因此,正式上线的项目,没有必要修改/config/index.js下,build中的assetsPublicPath。配置好nginx,你的项目就可以开始起飞了!

以上这篇Vuejs+vue-router打包+Nginx配置的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
教你如何在 Javascript 文件里使用 .Net MVC Razor 语法
Jul 23 Javascript
jquery-tips悬浮提示插件分享
Jul 31 Javascript
jQuery+ajax+asp.net获取Json值的方法
Jun 08 Javascript
AngularJS表格详解及示例代码
Aug 17 Javascript
jQuery实现简单的tab标签页效果
Sep 12 Javascript
js实现点击按钮弹出上传文件的窗口
Dec 23 Javascript
jQuery Validate插件自定义验证规则的方法
Dec 27 Javascript
JS中静态页面实现微信分享功能
Feb 06 Javascript
微信小程序 动态传参实例详解
Apr 27 Javascript
JS库 Highlightjs 添加代码行号的实现代码
Sep 13 Javascript
js中null与空字符串""的区别讲解
Jan 17 Javascript
ES6的异步终极解决方案分享
Jul 11 Javascript
vue中接口域名配置为全局变量的实现方法
Sep 20 #Javascript
vue-cli项目无法用本机IP访问的解决方法
Sep 20 #Javascript
vue项目中,main.js,App.vue,index.html的调用方法
Sep 20 #Javascript
解决vue脚手架项目打包后路由视图不显示的问题
Sep 20 #Javascript
微信小程序onLaunch异步,首页onLoad先执行?
Sep 20 #Javascript
vue3.0 CLI - 3.2 路由的初级使用教程
Sep 20 #Javascript
微信小程序使用gitee进行版本管理
Sep 20 #Javascript
You might like
PHP VS ASP
2006/10/09 PHP
PHP判断变量是否为0的方法
2014/02/08 PHP
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
WIN8.1下搭建PHP5.6环境
2015/04/29 PHP
PHP对象相关知识总结
2017/04/09 PHP
Laravel 对某一列进行筛选然后求和sum()的例子
2019/10/10 PHP
JavaScript修改css样式style动态改变元素样式
2013/12/16 Javascript
文本域光标操作的jQuery扩展分享
2014/03/10 Javascript
js定时调用方法成功后并停止调用示例
2014/04/08 Javascript
在JS数组特定索引处指定位置插入元素
2014/07/27 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
2015/04/07 Javascript
javascript实现的固定位置悬浮窗口实例
2015/04/30 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
JS小数运算出现多为小数问题的解决方法
2016/06/02 Javascript
Angularjs 动态改变title标题(兼容ios)
2016/12/29 Javascript
bootstrapValidator bootstrap-select验证不可用的解决办法
2017/01/11 Javascript
Vue仿今日头条实例详解
2018/02/06 Javascript
JavaScript数组基于交换的排序示例【冒泡排序】
2018/07/21 Javascript
VUE中使用MUI方法
2019/02/12 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
关于Vue中$refs的探索浅析
2020/11/05 Javascript
[03:53]2016国际邀请赛中国区预选赛第三日TOP10精彩集锦
2016/06/29 DOTA
在Python中操作时间之mktime()方法的使用教程
2015/05/22 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
Python语言进阶知识点总结
2019/05/28 Python
Python实现将元组中的元素作为参数传入函数的操作
2020/06/05 Python
Python使用socket_TCP实现小文件下载功能
2020/10/09 Python
电子信息工程专业自荐书
2014/06/24 职场文书
2014年重阳节老干部座谈会局领导发言稿
2014/09/25 职场文书
考博导师推荐信范文
2015/03/27 职场文书
2015年度物流工作总结
2015/04/30 职场文书
高三教师工作总结2015
2015/07/21 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
vue引入Excel表格插件的方法
2021/04/28 Vue.js
用Python爬虫破解滑动验证码的案例解析
2021/05/06 Python
MySQL学习之基础操作总结
2022/03/19 MySQL