详解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 相关文章推荐
一个很简单的jquery+xml+ajax的无刷新树结构(无css,后台是c#)
Jun 02 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
Dec 11 Javascript
JavaScript对Cookie进行读写操作实例
Jul 25 Javascript
Bootstrap每天必学之栅格系统(布局)
Nov 25 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
Aug 08 Javascript
js cookie实现记住密码功能
Jan 17 Javascript
js 概率计算(简单版)
Sep 12 Javascript
JS基于对象的特性实现去除数组中重复项功能详解
Nov 17 Javascript
JavaScript中七种流行的开源机器学习框架
Oct 11 Javascript
JavaScript实现预览本地上传图片功能完整示例
Mar 08 Javascript
vue中get请求如何传递数组参数的方法示例
Nov 08 Javascript
JS hasOwnProperty()方法检测一个属性是否是对象的自有属性的方法
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-accelerator网站加速PHP缓冲的方法
2008/07/30 PHP
PHP无限分类(树形类)
2013/09/28 PHP
php去除换行(回车换行)的三种方法
2014/03/26 PHP
PHP新特性之字节码缓存和内置服务器
2017/08/11 PHP
PHP+Oracle本地开发环境搭建方法详解
2019/04/01 PHP
TP5.0框架实现无限极回复功能的方法分析
2019/05/04 PHP
prototype 的说明 js类
2006/09/07 Javascript
jquery 卷帘效果实现代码(不同方向)
2013/02/05 Javascript
采用call方式实现js继承
2014/05/20 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
使用jquery获取url以及jquery获取url参数的实现方法
2016/05/25 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
Vue开发中整合axios的文件整理
2017/04/29 Javascript
vue单页应用中如何使用jquery的方法示例
2017/07/27 jQuery
浅析vue给不同环境配置不同打包命令
2018/08/17 Javascript
值得收藏的八个常用的js正则表达式
2018/10/19 Javascript
JS数据类型(基本数据类型、引用数据类型)及堆和栈的区别分析
2020/03/04 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
VSCode 添加自定义注释的方法(附带红色警戒经典注释风格)
2020/08/27 Javascript
[03:02]辉夜杯主赛事第二日 每日之星
2015/12/27 DOTA
python3简单实现微信爬虫
2015/04/09 Python
Python3连接SQLServer、Oracle、MySql的方法
2018/06/28 Python
Python 删除整个文本中的空格,并实现按行显示
2018/07/24 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
Pytorch之保存读取模型实例
2019/12/30 Python
PyTorch中的padding(边缘填充)操作方式
2020/01/03 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
标准化管理实施方案
2014/02/25 职场文书
幼儿园老师寄语
2014/04/03 职场文书
小学生评语大全
2014/04/18 职场文书
高三上学期学习自我评价
2014/04/23 职场文书
2014年预备党员群众路线教育实践活动对照检查材料思想汇报
2014/10/02 职场文书
2016年党支部公开承诺书
2016/03/25 职场文书
python字符串常规操作大全
2021/05/02 Python
css弧边选项卡的项目实践
2023/05/07 HTML / CSS