详解Nuxt.js部署及踩过的坑


Posted in Javascript onAugust 07, 2018

Nuxt.js 提供了两种发布部署应用的方式:服务端渲染应用部署 和 静态应用部署。

静态应用部署就不说了,主要说说服务端渲染应用部署。

官方推荐部署方式

关于服务端渲染应用部署,官方文档是这么写的:

部署 Nuxt.js 服务端渲染的应用不能直接使用 nuxt 命令,而应该先进行编译构建,然后再启动 Nuxt 服务,可通过以下两个命令来完成:

nuxt build
nuxt start

推荐的 package.json 配置如下:

{
 "name": "my-app",
 "dependencies": {
  "nuxt": "latest"
 },
 "scripts": {
  "dev": "nuxt",
  "build": "nuxt build",
  "start": "nuxt start"
 }
}

提示: 建议将 .nuxt 加入 .npmignore 和 .gitignore 文件中。

意思是说.nuxt不加入到版本控制,每次服务器从gitlab上拉代码后先执行nuxt build生成.nuxt文件夹,然后再执行nuxt start来启动服务。

踩过的坑

部署方式很简单对不对,看完文档后我就在自己买的服务器上尝试部署一下,然后,BOOM!!!

每次在服务器上执行nuxt build,总是有如下报错,并且jenkins会随之挂掉。

error Command failed with signal "SIGKILL".

看了一下服务器监控发现build的时候cpu和内存飙升,尤其是内存。。。

好吧,我买的是阿里最低配的ECS,升级配置是最后的选择,在这之前只能另辟蹊径。

另辟蹊径

既然服务器上build不了,那我们就本地build再上传,在.gitignore里把.nuxt去掉、并把dist改为/dist,然后本地执行yarn build,成功之后再上传到github上,检查一下.nuxt是否有上传上去。

之后在服务器上把代码拉下来、安装一下依赖,执行nuxt start就可以了。

这里还有个坑,就是为什么要把.gitignore里的dist改为/dist?

/dist这个文件夹是执行nuxt generate后生成的,用来做静态应用部署的,这部分就跟通常情况下的.nuxt一样是不应该加入到版本控制里的,但由于nuxt build之后,在.nuxt里也会生成一个dist文件夹,我们希望gitignore的只有/dist而不是/.nuxt/dist,因此猜需要做出这里的修改。

nuxt部署

最后,我们使用pm2来部署nuxt。

pm2 start npm --name nuxt -- start

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Three.js源码阅读笔记(基础的核心Core对象)
Dec 27 Javascript
纯js实现瀑布流展现照片(自动适应窗口大小)
Apr 08 Javascript
JS返回上一页实例代码通过图片和按钮分别实现
Aug 16 Javascript
深入理解JS中的变量及作用域、undefined与null
Mar 04 Javascript
使用jsonp完美解决跨域问题
Nov 27 Javascript
关于javascript模块加载技术的一些思考
Nov 28 Javascript
ECMAScript中函数function类型
Jun 03 Javascript
Angular 4.x 动态创建表单实例
Apr 25 Javascript
react-router实现跳转传值的方法示例
May 27 Javascript
Angular整合zTree的示例代码
Jan 24 Javascript
浅析vue-router原理
Oct 19 Javascript
vue实现form表单与table表格的数据关联功能示例
Jan 29 Javascript
解决vue 中 echart 在子组件中只显示一次的问题
Aug 07 #Javascript
Nuxt配合Node在实际生产中的应用详解
Aug 07 #Javascript
React-router4路由监听的实现
Aug 07 #Javascript
JavaScript设计模式之职责链模式应用示例
Aug 07 #Javascript
JavaScript使用享元模式实现文件上传优化操作示例
Aug 07 #Javascript
JavaScript设计模式之模板方法模式原理与用法示例
Aug 07 #Javascript
opencv 识别微信登录验证滑动块位置
Aug 07 #Javascript
You might like
php echo, print, print_r, sprintf, var_dump, var_expor的使用区别
2013/06/20 PHP
PHP的Json中文处理解决方案
2016/09/29 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
jQuery的控件及事件(输入控件及回车事件)使用示例
2013/07/25 Javascript
如何使用HTML5地理位置定位功能
2015/04/27 Javascript
jquery实现很酷的网页顶部图标下拉菜单效果
2015/08/22 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
js控制文本框只能输入中文、英文、数字与指定特殊符号的实现代码
2016/09/09 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
jQuery对table表格进行增删改查
2020/12/22 Javascript
原生JavaScript实现todolist功能
2018/03/02 Javascript
layer.prompt输入层的例子
2019/09/24 Javascript
浅谈Vue3 Composition API如何替换Vue Mixins
2020/04/29 Javascript
[02:04]2016国际邀请赛中国区预选赛VG.R晋级之路
2016/07/01 DOTA
python获得文件创建时间和修改时间的方法
2015/06/30 Python
python 查找字符串是否存在实例详解
2017/01/20 Python
基于Django与ajax之间的json传输方法
2018/05/29 Python
Python使用pylab库实现绘制直方图功能示例
2018/06/01 Python
替换python字典中的key值方法
2018/07/06 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
使用PyOpenGL绘制三维坐标系实例
2019/12/24 Python
python实现飞行棋游戏
2020/02/05 Python
在Python中通过threshold创建mask方式
2020/02/19 Python
基于Python实现全自动下载抖音视频
2020/11/06 Python
python使用Windows的wmic命令监控文件运行状况,如有异常发送邮件报警
2021/01/30 Python
Goodee官方商店:迷你投影仪
2021/03/15 全球购物
POS解决方案:MUNBYN(热敏打印机、条形码扫描仪)
2020/06/09 全球购物
升职自荐信
2013/11/28 职场文书
汽车机电维修工求职信
2014/09/30 职场文书
部门优秀员工推荐信
2015/03/24 职场文书
学校工会工作总结2015
2015/05/19 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
高考满分作文赏析(2篇)
2019/08/12 职场文书
golang为什么要统一错误处理
2022/04/03 Golang