详解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 组件之旅(二)编码实现和算法
Oct 28 Javascript
javascript 隐藏/显示指定的区域附HTML元素【legend】用法
Mar 05 Javascript
将HTMLCollection/NodeList/伪数组转换成数组的实现方法
Jun 20 Javascript
JavaScript创建一个object对象并操作对象属性的用法
Mar 23 Javascript
iframe中子父类窗口调用JS的方法及注意事项
Aug 25 Javascript
window.location.hash知识汇总
Nov 09 Javascript
jQuery动画效果实现图片无缝连续滚动
Jan 12 Javascript
简单的js计算器实现
Oct 26 Javascript
Vue.js教程之axios与网络传输的学习实践
Apr 29 Javascript
关于vue-resource报错450的解决方案
Jul 24 Javascript
jQuery zTree树插件的使用教程
Aug 16 jQuery
Vue实现简易购物车页面
Dec 30 Vue.js
解决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 cout<<的一点看法
2010/01/24 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
laravel-admin select框默认选中的方法
2019/10/03 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
2020/03/02 PHP
jQuery的三种$()
2009/12/30 Javascript
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
js实现弹窗插件功能实例代码分享
2013/12/12 Javascript
JavaScript将数据转换成整数的方法
2014/01/04 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
JavaScript动态改变表格单元格内容的方法
2015/03/30 Javascript
js实现添加可信站点、修改activex安全设置,禁用弹出窗口阻止程序
2016/08/17 Javascript
浅谈angular2的http请求返回结果的subcribe注意事项
2017/03/01 Javascript
Vuex简单入门
2017/04/19 Javascript
node.js中使用Export和Import的方法
2017/09/18 Javascript
cordova入门基础教程及使用中遇到的一些问题总结
2017/11/14 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
vue实现自定义日期组件功能的实例代码
2018/11/06 Javascript
解决vue 给window添加和移除resize事件遇到的坑
2020/07/21 Javascript
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
2020/07/28 Javascript
Python中的迭代器漫谈
2015/02/03 Python
Python利用ansible分发处理任务
2015/08/04 Python
python3制作捧腹网段子页爬虫
2017/02/12 Python
python特性语法之遍历、公共方法、引用
2018/08/08 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
高中毕业生个人自我鉴定
2013/11/24 职场文书
《与象共舞》教学反思
2014/02/24 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
培训研修方案
2014/06/06 职场文书
员工安全责任书范本
2014/07/24 职场文书
同意离婚答辩状
2015/05/22 职场文书
如何在CSS中绘制曲线图形及展示动画
2021/05/24 HTML / CSS
抖音动画片,皮皮虾,《治愈系》动画在用这首REMIX作为背景音乐,Anak ,The last world with you完整版
2022/03/16 杂记
根德5570型九灯四波段立体声收音机是电子管收音机的楷模 ? 再论5570
2022/04/05 无线电
SpringBoot中获取profile的方法详解
2022/04/08 Java/Android