详解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 相关文章推荐
来自chinaz的ajax获取评论代码
May 03 Javascript
通用javascript脚本函数库 方便开发
Oct 13 Javascript
Firebug 字幕文件JSON地址获取代码
Oct 28 Javascript
图片上传判断及预览脚本的效果实例
Aug 07 Javascript
innerHTML在IE中报错解决方案
Dec 15 Javascript
Jquery中CSS选择器用法分析
Feb 10 Javascript
javascript操作表格排序实例分析
May 06 Javascript
分享Javascript实用方法二
Dec 13 Javascript
Javascript removeChild()删除节点及删除子节点的方法
Dec 27 Javascript
Angular中$state.go页面跳转并传递参数的方法
May 09 Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
Nov 20 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
Jul 16 jQuery
解决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 如何向 MySQL 发送数据
2006/10/09 PHP
Apache, PHP在Windows 9x/NT下的安装与配置 (一)
2006/10/09 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
php的declare控制符和ticks教程(附示例)
2014/03/21 PHP
微信公众平台开发之天气预报功能
2015/08/31 PHP
php is_writable判断文件是否可写实例代码
2016/10/13 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
jQuery弹出层插件简化版代码下载
2008/10/16 Javascript
Node.js中HTTP模块与事件模块详解
2014/11/14 Javascript
jQuery oLoader实现的加载图片和页面效果
2015/03/14 Javascript
javascript实现获取服务器时间
2015/05/19 Javascript
深入理解JavaScript中的call、apply、bind方法的区别
2016/05/30 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
Node.js数据库操作之查询MySQL数据库(二)
2017/03/04 Javascript
label+input实现按钮开关切换效果的实例
2017/08/16 Javascript
基于js的变量提升和函数提升(详解)
2017/09/17 Javascript
解决axios发送post请求返回400状态码的问题
2018/08/11 Javascript
Angular5中状态管理的实现
2018/09/03 Javascript
学习LayUI时自研的表单参数校验框架案例分析
2019/07/29 Javascript
layui.use模块外部使用其内部定义的js封装函数方法
2019/09/16 Javascript
详解Python验证码识别
2016/01/25 Python
轻松实现python搭建微信公众平台
2016/02/16 Python
Python数据库的连接实现方法与注意事项
2016/02/27 Python
python实现用户登录系统
2016/05/21 Python
Python动态声明变量赋值代码实例
2019/12/30 Python
python实现梯度下降和逻辑回归
2020/03/24 Python
在TensorFlow中实现矩阵维度扩展
2020/05/22 Python
使用PDF.JS插件在HTML中预览PDF文件的方法
2018/08/29 HTML / CSS
简约控的天堂:The Undone
2016/12/21 全球购物
一名毕业生的自我鉴定
2013/12/04 职场文书
法院先进个人事迹材料
2014/05/04 职场文书
2015年度党员自我评价范文
2015/03/03 职场文书
2015年信访工作总结
2015/04/07 职场文书
2015年纪念“卢沟桥事变”78周年活动方案
2015/05/06 职场文书
严以修身专题学习研讨会发言材料
2015/11/09 职场文书