详解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 相关文章推荐
javascript 函数调用规则
Aug 26 Javascript
文件编码导致jquery失效的解决方法
Jun 26 Javascript
自己动手实现jQuery Callbacks完整功能代码详解
Nov 25 Javascript
js加入收藏以及使用Jquery更改透明度
Jan 26 Javascript
jQuery动态创建html元素的常用方法汇总
Sep 05 Javascript
JavaScript及jquey实现多个数组的合并操作
Sep 06 Javascript
JQuery datepicker 用法详解
Dec 25 Javascript
深入浅析javascript中的作用域(推荐)
Jul 19 Javascript
jQuery中Find选择器用法示例
Sep 21 Javascript
JS解决移动web开发手机输入框弹出的问题
Mar 31 Javascript
Angular2 父子组件数据通信实例
Jun 22 Javascript
JS实现标签滚动切换效果
Dec 25 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抓屏函数实现屏幕快照代码分享
2014/01/02 PHP
PHP中绘制图像的一些函数总结
2014/11/19 PHP
WordPress中is_singular()函数简介
2015/02/05 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
PHP面向对象程序设计之多态性的应用示例
2018/12/19 PHP
PHP中的输出echo、print、printf、sprintf、print_r和var_dump的示例代码
2020/12/01 PHP
JS将秒换成时分秒实现代码
2013/09/03 Javascript
JS截取字符串常用方法详细整理
2013/10/28 Javascript
jQuery实现鼠标滚轮动态改变样式或效果
2015/01/05 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 图片库
2015/01/09 Javascript
基于jquery实现最简单的选项卡切换效果
2016/05/08 Javascript
js实现三级联动效果(简单易懂)
2017/03/27 Javascript
javascript中的replace函数(带注释demo)
2018/01/07 Javascript
详解Vue中组件的缓存
2019/04/20 Javascript
微信JS-SDK实现微信会员卡功能(给用户微信卡包里发送会员卡)
2019/07/25 Javascript
Vue.extend 编程式插入组件的实现
2019/11/18 Javascript
[49:54]Ti4 循环赛第三日 LGD vs Titan
2014/07/12 DOTA
Python压缩解压缩zip文件及破解zip文件密码的方法
2015/11/04 Python
Python使用os模块和fileinput模块来操作文件目录
2016/01/19 Python
python删除某个字符
2018/03/19 Python
Python实现读取Properties配置文件的方法
2018/03/29 Python
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
关于numpy中eye和identity的区别详解
2019/11/29 Python
python里glob模块知识点总结
2021/01/05 Python
html5 postMessage解决跨域、跨窗口消息传递方案
2016/12/20 HTML / CSS
英国最大的电子零件及配件零售商:Partmaster
2017/04/24 全球购物
数控技术应届生求职信
2013/11/13 职场文书
市场营销毕业生自荐信范文
2014/04/01 职场文书
优秀党员自我评价范文
2014/09/15 职场文书
初中信息技术教学计划
2015/01/22 职场文书
销售员岗位职责范本
2015/04/11 职场文书
python 利用 PIL 将数组值转成图片的实现
2021/04/12 Python
教你使用Python pypinyin库实现汉字转拼音
2021/05/27 Python
一篇文章弄清楚Ajax请求的五个步骤
2022/03/17 Javascript
Mysql 一主多从的部署
2022/05/20 MySQL