nuxt的generate和build的分别打包方式

generate打包

  1. 使用generate打包后每个对应的页面都会生成一个html,你在打包的时候不能关闭后台,他会请求后台数据生成首屏的数据
  2. 这样打包有一个弊端,当你首屏的数据发生更改的时候,他还是显示的是之前的数据,要想改变的话,需要重新打包发布才行。
  3. 所以,如果你的首屏是动态的就不建议使用这种打包方式了。
  4. 打包之后每个页面都生成了HTML页面,只有首屏的数据是之前渲染好了,但是其它数据还是从后台获取,比如翻页,第二页数据是重新请求后台的,你再次返回第一页也是再次请求的。

build打包

  1. build打包生成的是动态页面,当然是同样具有SEO功能。 发布的区别:

generate

打包方式简单,执行npm run dev会生成dist文件夹,放到服务器就好了。

build

  • build打包方式比较复杂,执行npm run build命令。
  • 服务器需要安装node,但node版本还不能过高,过高会有问题。我安装的是12.18.1
  • 执行命令之后需要把下面这几个文件/文件夹放到服务器上 .nuxt / static / nuxt.config.js /package.json,如下图:

在这里插入图片描述

  • 放到服务器上面之后执行npm i,把需要安装的包给安装了。我见有博客说如果直接执行npm i的话可能会有scss-loader啥的装不了,我也没试过,我直接用的淘宝镜像装的,这样也比较快。
  • 然后执行命令npm start项目就可以运行了
  • 但是服务器上不可能用命令窗口来启动项目的,万一命令窗口关闭的话我们的项目就跑不起来了,然后就要使用pm2进行进程托管了。这样命令窗口关闭也不会影响项目运行。

pm2的安装与使用 (我的服务器是windows系统)

  • 安装pm2
npm i -g pm2
  • 安装并配置 pm2-windows-service
npm i -g pm2-windows-service
  • 添加pm2环境变量

添加系统环境变量 PM2_HOME=C:\Users\Administrator.pm2
右键 [我的电脑] - [属性] - [高级系统设置] - [环境变量] - 新建 [系统变量]
名称PM2_HOME
路径D:C:\Users\Administrator.PD-1.pm2(这路径根据自己需要定)

  • 安装服务

以管理员权限打开新的命令行窗口,执行以下命令来安装服务

pm2-service-install

Perform environment setup ? 选 n, 继续
此时, PM2服务已安装成功并已启动, 可以通过 Wn+R来查看,输入services.msc即可看到服务

  • 启动node程序
pm2 start npm --name "my-nuxt" -- run start

应该可以看到处于online状态

  • 执行pm2 save
    是进程状态进行保持,此时就可以关闭命令窗口了。

(ps)pm2常见问题

说实话可能是我能力不行,我使用pm2下来的感觉就是它很坑,一般不是一帆风顺的,可能你项目是online状态,但是用pm2 list命令时他就是error状态了,此时可以执行pm2 logs查看错误,一般都会有错误显示。

我查的一般的解决方法就是:

安装:node-cmd

npm install node-cmd --save
  • 在之前的这 .nuxt / static / nuxt.config.js /package.json四个文件下新
  • 新建个server.js

in server.js:
var cmd=require(‘node-cmd’); cmd.run(‘npm start’);

  • 然后执行:
pm2 start server.js

下面是我做项目时参考文章,第三篇是pm2常见问题,有问题的话可以对号入座,看看能不能帮你解决问题。第二篇博客,写的不好的话勿喷,欢迎指点。
————————————————
参考链接:https://blog.csdn.net/Tomwildboar/article/details/102744630
https://www.jianshu.com/p/6cb523c0ced8
https://github.com/Unitech/pm2/issues/2808

  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值