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 动态添加事件代码
Nov 30 Javascript
菜鸟javascript基础资料整理2
Dec 06 Javascript
鼠标选择动态改变网页背景颜色的JS代码
Dec 10 Javascript
jQuery基于ajax()使用serialize()提交form数据的方法
Dec 08 Javascript
动态加载js、css的实例代码
May 26 Javascript
浅谈JS之tagNaem和nodeName
Sep 13 Javascript
webpack学习笔记之代码分割和按需加载的实例详解
Jul 20 Javascript
详解如何在项目中使用jest测试react native组件
Feb 09 Javascript
基于express中路由规则及获取请求参数的方法
Mar 12 Javascript
React实现全局组件的Toast轻提示效果
Sep 21 Javascript
详解Vue iview IE浏览器不兼容报错(Iview Bable polyfill)
Jan 07 Javascript
处理JavaScript值为undefined的7个小技巧
Jul 28 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中获取内网用户MAC地址(WINDOWS/linux)的实现代码
2011/08/11 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
PHP获取IP地址所在地信息的实例(使用纯真IP数据库qqwry.dat)
2016/11/15 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
2017/10/25 PHP
初学Javascript的一些总结
2008/11/03 Javascript
如何防止回车(enter)键提交表单
2014/05/11 Javascript
使用AngularJS实现表单向导的方法
2015/06/19 Javascript
属于你的jQuery提示框(Tip)插件
2016/01/20 Javascript
JavaScript仿网易选项卡制作代码
2016/10/06 Javascript
微信小程序开发之实现选项卡(窗口顶部TabBar)页面切换
2016/11/25 Javascript
使用ES6语法重构React代码详解
2017/05/09 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
2017/09/04 Javascript
微信小程序车牌号码模拟键盘输入功能的实现代码
2018/11/11 Javascript
你不知道的Vue技巧之--开发一个可以通过方法调用的组件(推荐)
2019/04/15 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
2019/07/31 Javascript
python动态网页批量爬取
2016/02/14 Python
详解python的webrtc库实现语音端点检测
2017/05/31 Python
windows下python之mysqldb模块安装方法
2017/09/07 Python
在PyCharm中批量查找及替换的方法
2019/01/20 Python
Python 变量的创建过程详解
2019/09/02 Python
基于python实现操作redis及消息队列
2020/08/27 Python
女子锻炼服装和瑜伽服装:Splits59
2019/03/04 全球购物
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
文件中有一组整数,要求排序后输出到另一个文件中
2012/01/04 面试题
优秀教师的感人事迹
2014/02/04 职场文书
学生党员的自我评价范文
2014/03/01 职场文书
个人求职信范文
2014/05/24 职场文书
金融管理专业求职信
2014/07/10 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
任命通知范文
2015/04/21 职场文书
离婚被告代理词
2015/05/23 职场文书
Nginx解决403 forbidden的完整步骤
2021/04/01 Servers
MySQL中连接查询和子查询的问题
2021/09/04 MySQL
python基础之错误和异常处理
2021/10/24 Python
详解TypeScript的基础类型
2022/02/18 Javascript
一文搞懂Redis中String数据类型
2022/04/03 Redis