详解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倒数计时按钮setTimeout的实例代码
Jul 04 Javascript
javascript浏览器窗口之间传递数据的方法
Jan 20 Javascript
javascript中的正则表达式使用指南
Mar 01 Javascript
基于jquery实现最简单的选项卡切换效果
May 08 Javascript
jquery结合html实现中英文页面切换
Nov 29 Javascript
js实现多张图片延迟加载效果
Jul 17 Javascript
JavaScript中call和apply方法的区别实例分析
Aug 03 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
Sep 20 Javascript
vue生命周期与钩子函数简单示例
Mar 13 Javascript
js 动态校验开始结束时间的实现代码
May 25 Javascript
vue keep-alive的简单总结
Jan 25 Vue.js
JavaScript 去重和重复次数统计
Mar 31 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模块 Memcached功能多于Memcache
2011/06/14 PHP
php限制上传文件类型并保存上传文件的方法
2015/03/13 PHP
PHP开发APP端微信支付功能
2017/02/17 PHP
自制PHP框架之设计模式
2017/05/07 PHP
laravel框架的安装与路由实例分析
2019/10/11 PHP
Centos7安装swoole扩展操作示例
2020/03/26 PHP
你必须知道的Javascript知识点之"字面量和对应类型"说明介绍
2013/04/23 Javascript
javascript中数组中求最大值示例代码
2013/12/18 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
js函数定时器实现定时读取系统实时连接数
2014/04/30 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
Node.js本地文件操作之文件拷贝与目录遍历的方法
2016/02/16 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
jQuery EasyUI ProgressBar进度条组件
2017/02/28 Javascript
浅谈vue-lazyload实现的详细过程
2017/08/22 Javascript
微信小程序排坑指南详解
2018/05/23 Javascript
js 根据对象数组中的属性进行排序实现代码
2019/09/12 Javascript
js 对象使用的小技巧实例分析
2019/11/08 Javascript
vue 查看dist文件里的结构(多种方式)
2020/01/17 Javascript
jQuery实现开关灯效果
2020/08/02 jQuery
python实现将英文单词表示的数字转换成阿拉伯数字的方法
2015/07/02 Python
Python读取word文本操作详解
2018/01/22 Python
Django框架实现逆向解析url的方法
2018/07/04 Python
详解Ubuntu16.04安装Python3.7及其pip3并切换为默认版本
2019/02/25 Python
详解Python locals()的陷阱
2019/03/26 Python
详解python 内存优化
2020/08/17 Python
使用HTML5的Notification API制作web通知的教程
2015/05/08 HTML / CSS
Bowflex美国官方网站:高级家庭健身器材
2017/12/22 全球购物
中国旅游网站:途牛旅游网
2019/09/29 全球购物
Contém1g官网:巴西彩妆品牌
2020/01/17 全球购物
元旦晚会上单位领导演讲稿
2014/01/05 职场文书
交警个人先进事迹材料
2014/05/11 职场文书
医药公司采购员岗位职责
2014/09/12 职场文书
领导走群众路线整改措施思想汇报
2014/10/12 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
我国拿下天问一号火星着陆区附近 22 个地理实体命名:平乐、西柏坡、古田、漠河等
2022/04/29 数码科技