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 相关文章推荐
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
Jun 14 Javascript
asp.net+js 实现无刷新上传解析csv文件的代码
May 17 Javascript
jQuery UI Datepicker length为空或不是对象错误的解决方法
Dec 19 Javascript
jquery关于图形报表的运用实现代码
Jan 06 Javascript
分享20款好玩的jQuery游戏
Apr 17 Javascript
jquery设置元素的readonly和disabled的写法
Sep 22 Javascript
JS+CSS实现的日本门户网站经典选项卡导航效果
Sep 27 Javascript
Bootstrap响应式导航由768px变成992px的实现代码
Jun 15 Javascript
浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流
Jul 22 jQuery
关于react-router/react-router-dom v4 history不能访问问题的解决
Jan 08 Javascript
解决vue单页面修改样式无法覆盖问题
Aug 05 Javascript
关于vue属性使用和不使用冒号的区别说明
Oct 22 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写出自己的BLOG系统 2
2010/04/12 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
thinkphp3.2同时连接两个数据库的简单方法
2019/08/13 PHP
laravel 自定义常量的两种方案
2019/10/14 PHP
thinkphp5实现微信扫码支付
2019/12/23 PHP
JavaScript实现彩虹文字效果的方法
2015/04/16 Javascript
JavaScript实现页面跳转的几种常用方式
2015/11/28 Javascript
深入浅析JavaScript中数据共享和数据传递
2016/04/25 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
2016/05/03 Javascript
jQuery解决$符号命名冲突
2016/06/18 Javascript
一种基于浏览器的自动小票机打印实现方案(js版)
2016/07/26 Javascript
Vue.js实现实例搜索应用功能详细代码
2017/08/24 Javascript
vue生成随机验证码的示例代码
2017/09/29 Javascript
js实现同一个页面,多个enter事件绑定的示例
2018/10/10 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
js中位数不足自动补位扩展padLeft、padRight实现代码
2020/04/06 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
详解node.js创建一个web服务器(Server)的详细步骤
2021/01/15 Javascript
Python的Bottle框架中返回静态文件和JSON对象的方法
2015/04/30 Python
Python自定义主从分布式架构实例分析
2016/09/19 Python
使用Python操作FTP实现上传和下载的方法
2019/04/01 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
canvas实现图片镜像翻转的2种方式
2020/07/22 HTML / CSS
马来西亚网上购物平台:ezbuy
2018/02/13 全球购物
全球性的在线鞋类品牌:Public Desire
2019/04/03 全球购物
表扬信格式
2014/01/12 职场文书
会计毕业自我鉴定
2014/02/05 职场文书
菜篮子工程实施方案
2014/03/08 职场文书
危货运输企业安全生产责任书
2014/07/28 职场文书
考试作弊检讨书
2015/01/27 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
千手观音观后感
2015/06/03 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
管理者日常工作必备:22条企业管理流程模板!
2019/07/12 职场文书
Python使用psutil库对系统数据进行采集监控的方法
2021/08/23 Python