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 轻松支持函数重载 (Part 1 - 设计)
Aug 04 Javascript
Jquery实战_读书笔记1—选择jQuery
Jan 22 Javascript
javascript实现checkbox全选的代码
Apr 30 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
May 07 Javascript
IE10中flexigrid无法显示数据的解决方法
Jul 26 Javascript
BootStrap下jQuery自动完成的样式调整
May 30 Javascript
bootstrap学习笔记之初识bootstrap
Jun 21 Javascript
js上下视差滚动简单实现代码
Mar 07 Javascript
JavaScript中如何判断一个值的类型
Sep 15 Javascript
Nuxt配置Element-UI按需引入的操作方法
Jul 06 Javascript
js实现批量删除功能
Aug 27 Javascript
vue报错function () { [native code] },无法出现我们想要的内容 Unknown custom element
Apr 11 Vue.js
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实现简单爬虫的方法
2015/07/29 PHP
PHP获取当前执行php文件名的代码
2017/03/02 PHP
PHP _construct()函数讲解
2019/02/03 PHP
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
jQuery实现的一个tab切换效果内部还嵌有切换
2014/08/10 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
Vue.js展示AJAX数据简单示例讲解
2017/03/29 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
Vue.js + Nuxt.js 项目中使用 Vee-validate 表单校验
2019/04/22 Javascript
微信小程序实现form表单本地储存数据
2019/06/27 Javascript
redux处理异步action解决方案
2020/03/22 Javascript
微信小程序onShareTimeline()实现分享朋友圈
2021/01/07 Javascript
python实现360皮肤按钮控件示例
2014/02/21 Python
python中WSGI是什么,Python应用WSGI详解
2017/11/24 Python
Python批量提取PDF文件中文本的脚本
2018/03/14 Python
Python Numpy计算各类距离的方法
2019/07/05 Python
python获取txt文件词向量过程详解
2019/07/05 Python
python-视频分帧&多帧合成视频实例
2019/12/10 Python
python使用正则来处理各种匹配问题
2019/12/22 Python
Python os模块常用方法和属性总结
2020/02/20 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
Python可视化工具如何实现动态图表
2020/10/23 Python
Selenium环境变量配置(火狐浏览器)及验证实现
2020/12/07 Python
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
2013/01/06 HTML / CSS
导出HTML5 Canvas图片并上传服务器功能
2019/08/16 HTML / CSS
泰国汽车、火车和轮渡票预订网站:Bus Online Ticket
2017/09/09 全球购物
Agoda.com官方网站:便宜预订全球酒店,高达80%的折扣
2018/04/04 全球购物
诺心蛋糕官网:LE CAKE
2018/08/25 全球购物
大专毕业生自我鉴定
2013/11/21 职场文书
医药类个人求职的自我评价
2014/02/12 职场文书
如何写好建议书
2014/03/13 职场文书
部门年终奖分配方案
2014/05/07 职场文书
铅球加油稿100字
2014/09/26 职场文书
授权收款委托书范本
2014/10/10 职场文书
学校远程教育工作总结
2015/08/11 职场文书