详解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 相关文章推荐
extjs 学习笔记 四 带分页的grid
Oct 20 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
Aug 07 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
使用jquery提交form表单并自定义action的实现代码
May 25 Javascript
JavaScript 轮播图和自定义滚动条配合鼠标滚轮分享代码贴
Oct 28 Javascript
Mongoose学习全面理解(推荐)
Jan 21 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
Apr 16 Javascript
微信自定义分享链接信息(标题,图片和内容)实现过程详解
Sep 04 Javascript
使用js实现一个简单的滚动条过程解析
Sep 10 Javascript
Object.keys() 和 Object.getOwnPropertyNames() 的区别详解
May 21 Javascript
vue实现循环滚动列表
Jun 30 Javascript
Node.js fs模块原理及常见用途
Oct 22 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自动跳转中英文页面
2008/07/29 PHP
PHP 远程关机实现代码
2009/11/10 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
PHP数组函数知识汇总
2016/05/12 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
Javascript客户端脚本的设计和应用
2006/08/21 Javascript
javascript 获取表单file全路径
2009/12/31 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
3分钟写出来的Jquery版checkbox全选反选功能
2013/10/23 Javascript
很全面的JavaScript常用功能汇总集合
2016/01/22 Javascript
使用Web Uploader实现多文件上传
2016/06/08 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
JavaScript奇技淫巧44招【实用】
2016/12/11 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
vue2.0.js的多级联动选择器实现方法
2018/02/09 Javascript
React Native 图片查看组件的方法
2018/03/01 Javascript
JS+H5 Canvas实现时钟效果
2018/07/20 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
layui table 复选框跳页后再回来保持原来选中的状态示例
2019/10/26 Javascript
JavaScript实现点击图片换背景
2020/11/20 Javascript
对Python3 解析html的几种操作方式小结
2019/02/16 Python
Keras官方中文文档:性能评估Metrices详解
2020/06/15 Python
Python如何实现后端自定义认证并实现多条件登陆
2020/06/22 Python
Python模拟登录requests.Session应用详解
2020/11/17 Python
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
世界上最大的乐谱选择:Sheet Music Plus
2020/01/18 全球购物
新郎父亲婚宴答谢词
2014/01/11 职场文书
九年级政治教学反思
2014/02/06 职场文书
优秀应届本科生求职信
2014/07/19 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
《敬重卑微》读后感3篇
2019/11/26 职场文书
HTML+CSS 实现顶部导航栏菜单制作
2021/06/03 HTML / CSS