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 相关文章推荐
当jQuery遭遇CoffeeScript的时候 使用分享
Sep 17 Javascript
jquery使用jxl插件导出excel示例
Apr 14 Javascript
node.js中的buffer.fill方法使用说明
Dec 14 Javascript
transport.js和jquery冲突问题的解决方法
Feb 10 Javascript
WebView启动支付宝客户端支付失败的问题小结
Jan 11 Javascript
Vue2.x中的父子组件相互通信的实现方法
May 02 Javascript
讲解vue-router之什么是动态路由
May 28 Javascript
Vue infinite update loop的问题解决
Apr 23 Javascript
移动端 Vue+Vant 的Uploader 实现上传、压缩、旋转图片功能
Jun 10 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
Oct 16 Javascript
weui中的picker使用js进行动态绑定数据问题
Nov 06 Javascript
JS实现百度搜索框关键字推荐
Feb 17 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面向对象编程快速入门
2006/12/14 PHP
PHP生成UTF8文件的方法
2010/05/15 PHP
destoon实现调用热门关键字的方法
2014/07/15 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
浅谈php的TS和NTS的区别
2019/03/13 PHP
微信公众平台开发教程①获取用户Openid及个人信息图文详解
2019/04/10 PHP
JavaScript Date对象 日期获取函数
2010/12/19 Javascript
JS 跳转页面延迟2种方法
2013/03/29 Javascript
Js获取数组最大和最小值示例代码
2013/10/29 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
理解javascript函数式编程中的闭包(closure)
2016/03/08 Javascript
js实时监控文本框输入字数的实例代码
2018/01/18 Javascript
详解webpack4多入口、多页面项目构建案例
2018/05/25 Javascript
JS实现悬浮球只在一侧滑动并且是横屏状态下
2020/08/19 Javascript
详解vue中使用transition和animation的实例代码
2020/12/12 Vue.js
[01:52]2020年DOTA2 TI10夏季活动预告片
2020/07/15 DOTA
Python正则表达式教程之三:贪婪/非贪婪特性
2017/03/02 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
Python基础知识_浅谈用户交互
2017/05/31 Python
Python机器学习之SVM支持向量机
2017/12/27 Python
python psutil库安装教程
2018/03/19 Python
Python中应该使用%还是format来格式化字符串
2018/09/25 Python
基于python生成器封装的协程类
2019/03/20 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
Python使用socketServer包搭建简易服务器过程详解
2020/06/12 Python
python中@contextmanager实例用法
2021/02/07 Python
delegate与普通函数的区别
2014/01/22 面试题
职高毕业生自我鉴定
2013/10/21 职场文书
技术副厂长岗位职责
2013/12/26 职场文书
物流专业求职计划书
2014/01/10 职场文书
2014社会治安综合治理工作总结
2014/12/04 职场文书
酒店财务经理岗位职责
2015/04/08 职场文书
2015年女职工工作总结
2015/05/15 职场文书
如何用PHP实现多线程编程
2021/05/26 PHP
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
2021/05/30 Javascript
nginx 配置缓存
2022/05/11 Servers