0.前言 经过一段时间的探索,前端后端都有大致的样子了。下面就是部署到服务器,让我的博客项目公布在网上啦~~ 1.前端部署 1.1服务器准备 Nginx环境 后端接口——想要完全的效果提前部署好 1.2前端打包准备 终端运行...
0.前言
经过一段时间的探索,前端后端都有大致的样子了。下面就是部署到服务器,让我的博客项目公布在网上啦~~
1.前端部署
1.1服务器准备
Nginx环境
后端接口——想要完全的效果提前部署好
1.2前端打包准备
终端运行命令 npm run build
其实它就是个静态文件,在哪访问都一样
1.2.1 静态路径问题
点击index.html,通过浏览器运行,出现以下报错,如图
具体步骤如下:
1、找到配置文件
修改
2、找到配置文件
修改
3、终端运行 npm run build 即可。
此时点击index.html,通过浏览器运行便,会发现动态绑定的static的图片找不到,故static必须使用绝对路径。将图片路径修改为绝对路径,至此,打包完成。
1.2.2不报错但也不显示任何页面
出现原因:
router文件夹内部的index.js的mode模式导致
hash模式会带来#,很丑,想去调#可以改成history
1.开发阶段history模式不会有#,但是打包上线后,需要后端帮忙指定项目根目录
2.hash模式可以不需要后端帮忙,只会多个#而已
如何解决:
1.注释或换成hash模式
2.使用Nginx,修改Nginx配置来映射路径
1.3修改Nginx配置
2.解决发现问题
2.1点击文章详情发现我static里的图片加载404
看路径是多了一层/show
history模式导致,把下图的./改回/;再重新部署,就是在本地直接打开会报资源找不到
2.2vue打包生成的文件的js文件过大的优化
2.2.1去掉生成map文件
打包时会生成map文件,而map文件通常都比较大,可以取消生成map文件
config/index.js找到productionSourceMap把true改成false
2.2.2代码压缩
config/index.js 找到 productionGzip 把 false 改为 true
安装插件
npm install compression-webpack-plugin --save-dev
在根目录新建文件vue.config.js
修改Nginx配置文件在http全局里开启gzip
配置后实测不生效,经过一翻排查,问题最终锁定在了gzip_types类型上,确保覆盖了你希望压缩的文件类型
全部Nginx配置文件内容: