详解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学习笔记2 函数
Jan 11 Javascript
formvalidator验证插件中有关ajax验证问题
Jan 04 Javascript
ajaxFileUpload.js插件支持多文件上传的方法
Sep 02 Javascript
JavaScript中数组去除重复的三种方法
Apr 22 Javascript
AngularJS使用指令增强标准表单元素功能
Jul 01 Javascript
瀑布流的实现方式(原生js+jquery+css3)
Jun 28 Javascript
js自调用匿名函数的三种写法(推荐)
Aug 19 Javascript
针对后台列表table拖拽比较实用的jquery拖动排序
Oct 10 Javascript
jQuery中$.grep() 过滤函数 数组过滤
Nov 22 Javascript
解决vue自定义全局消息框组件问题
Nov 22 Javascript
JavaScript 实现HTML DOM增删改查操作的常见方法详解
Jan 04 Javascript
微信分享invalid signature签名错误踩过的坑
Apr 11 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接收POST数据方式
2015/06/05 PHP
php注册和登录界面的实现案例(推荐)
2016/10/24 PHP
详解PHP用substr函数截取字符串中的某部分
2016/12/03 PHP
Javascript 阻止javascript事件冒泡,获取控件ID值
2009/06/27 Javascript
关于js遍历表格的实例
2013/07/10 Javascript
JS获取鼠标坐标的实例方法
2013/07/18 Javascript
jquery uploadify 在FF下无效的解决办法
2014/09/26 Javascript
Vue数据驱动模拟实现1
2017/01/11 Javascript
js 实现省市区三级联动菜单效果
2017/02/20 Javascript
jquery中关于bind()方法的使用技巧分享
2017/03/30 jQuery
基于AngularJS的拖拽文件上传的实例代码
2017/07/15 Javascript
js使用highlight.js高亮你的代码
2017/08/18 Javascript
Bootstrap Table快速完美搭建后台管理系统
2017/09/20 Javascript
vue-cli 引入、配置axios的方法
2018/05/08 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
微信小程序实现简单文字跑马灯
2020/05/26 Javascript
vue 在methods中调用mounted的实现操作
2020/08/07 Javascript
Python使用turtule画五角星的方法
2015/07/09 Python
简单讲解Python中的字符串与字符串的输入输出
2016/03/13 Python
Python3网络爬虫开发实战之极验滑动验证码的识别
2019/08/02 Python
pytorch 固定部分参数训练的方法
2019/08/17 Python
python+appium+yaml移动端自动化测试框架实现详解
2020/11/24 Python
python基于爬虫+django,打造个性化API接口
2021/01/21 Python
Python3爬虫ChromeDriver的安装实例
2021/02/06 Python
基于canvas的骨骼动画的示例代码
2018/06/12 HTML / CSS
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
No7 Beauty美国官网:英国国民护肤品牌
2019/10/31 全球购物
大唐面试试题(CPU,UNIX等等)
2012/01/11 面试题
财政局长自荐信范文
2013/12/22 职场文书
助人为乐表扬信范文
2014/01/14 职场文书
教师文明餐桌光盘行动倡议书
2015/04/28 职场文书
承诺书模板大全
2015/05/04 职场文书
入伍志愿书怎么写?
2019/07/19 职场文书
php 防护xss,PHP的防御XSS注入的终极解决方案
2021/04/01 PHP
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
Android 界面一键变灰 深色主题工具类
2022/04/28 Java/Android