详解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 相关文章推荐
许愿墙中用到的函数
Oct 07 Javascript
javascript 表单验证常见正则
Sep 28 Javascript
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
Dec 02 Javascript
javascript管中窥豹 形参与实参浅析
Dec 17 Javascript
jQuery 滑动方法slideDown向下滑动元素
Jan 16 Javascript
jquery中one()方法的用法实例
Jan 16 Javascript
js验证真实姓名与身份证号是否匹配
Oct 13 Javascript
jQuery实现简单的网页换肤效果示例
Sep 18 Javascript
js中toString()和String()区别详解
Mar 23 Javascript
详解Vue.js在页面加载时执行某个方法
Nov 20 Javascript
vue实现axios图片上传功能
Aug 20 Javascript
浅谈vue生命周期共有几个阶段?分别是什么?
Aug 07 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音乐采集(部分代码)
2007/02/14 PHP
PHP 加密与解密的斗争
2009/04/17 PHP
PHP四种基本排序算法示例
2015/04/09 PHP
PHP使用strtotime获取上个月、下个月、本月的日期
2015/12/30 PHP
PHP模板引擎Smarty内置变量调解器用法详解
2016/04/11 PHP
php微信公众号开发之微信企业付款给个人
2018/10/04 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
Ubuntu 11.10 安装Node.js的方法
2011/11/30 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
jQuery CSS()方法改变现有的CSS样式表
2014/09/09 Javascript
快速获取/设置iframe内对象元素的几种js实现方法
2016/05/20 Javascript
JS快速实现移动端拼图游戏
2016/09/05 Javascript
详解webpack+gulp实现自动构建部署
2017/06/29 Javascript
JS实现可用滑块滑动的缓动图代码
2019/09/01 Javascript
浅探express路由和中间件的实现
2019/09/30 Javascript
深入理解基于vue-cli的webpack打包优化实践及探索
2019/10/14 Javascript
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
python采集百度百科的方法
2015/06/05 Python
Python之str操作方法(详解)
2017/06/19 Python
浅谈Python实现2种文件复制的方法
2018/01/19 Python
PyQt5每天必学之像素图控件QPixmap
2018/04/19 Python
python发送邮件脚本
2018/05/22 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
2019/10/30 Python
pytorch 自定义参数不更新方式
2020/01/06 Python
python 数据分析实现长宽格式的转换
2020/05/18 Python
HTML5 Canvas中绘制椭圆的4种方法
2015/04/24 HTML / CSS
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
原装进口全世界:天猫国际
2016/08/03 全球购物
澳大利亚有机化妆品网上商店:The Well Store
2020/02/20 全球购物
夜大自我鉴定
2013/10/31 职场文书
总经理岗位职责范本
2014/02/02 职场文书
2014年车间工作总结
2014/11/21 职场文书
项目经理岗位职责
2015/01/31 职场文书
新教师个人总结
2015/02/06 职场文书
jquery插件实现悬浮的菜单
2021/04/24 jQuery