本章节我们来了解一下我们的项目如何去打包以及线上发布、服务器配置等
一、我们要知道我们的命令。如下:
"scripts": {
"build": "nuxt build", //线上发布
"dev": "nuxt dev", //开发版
"generate": "nuxt generate" //打包成静态资源
},
二、我们在线上发布的时候,需要运行的命令是 npm run build
当我们运行的命令是 npm run build完成后,会为我们生成 .nuxt文件
注意:我们文件根目录的assets 静态文件在线上打包后,会发现找不到静态资源的问题。审查元素发现是文件路径引入错误。我们来看一下官方提供的项目结构:包含asset 和 public两个目录
因此,为了解决这一问题,我们需要对静态资源做进一步处理。在根目录下创建
public文件夹,将静态资源图片整体迁移到public文件夹,其实public文件夹就类似我们Nuxt2中的static文件夹。 然后配置我们的public:-| public/ ---| images/ ————————图片存放过地址 ---| favicon.ico ———————— .ico 图片
三、服务端需安装node.js,全局安装pm2
//安装pm2
npm install pm2 -g
//pm2介绍
pm2 start app.js # 启动app.js应用程序
pm2 start app.js -i 4 # cluster mode 模式启动4个app.js的应用实例
# 4个应用程序会自动进行负载均衡
pm2 start app.js --name="api" # 启动应用程序并命名为 "api"
pm2 start app.js --watch # 当文件变化时自动重启应用
pm2 start script.sh # 启动 bash 脚本
pm2 list # 列表 PM2 启动的所有的应用程序
pm2 monit # 显示每个应用程序的CPU和内存占用情况
pm2 show [app-name] # 显示应用程序的所有信息
pm2 logs # 显示所有应用程序的日志
pm2 logs [app-name] # 显示指定应用程序的日志
pm2 flush # 清空所有日志文件
pm2 stop all # 停止所有的应用程序
pm2 stop 0 # 停止 id为 0的指定应用程序
pm2 restart all # 重启所有应用
pm2 reload all # 重启 cluster mode下的所有应用
pm2 gracefulReload all # Graceful reload all apps in cluster mode
pm2 delete all # 关闭并删除所有应用
pm2 delete 0 # 删除指定应用 id 0
pm2 scale api 10 # 把名字叫api的应用扩展到10个实例
pm2 reset [app-name] # 重置重启数量
pm2 startup # 创建开机自启动命令
pm2 save # 保存当前应用列表
pm2 resurrect # 重新加载保存的应用列表
pm2 update # Save processes, kill PM2 and restore processes
pm2 generate # Generate a sample json configuration file
四、上传我们的打包项目。例如
-| 打包后所需文件/
> ---| .nuxt
>
> ---| plblic
>
> ---| nuxt.config.ts
>
> ---| package.json
>
> ---| package-lock.json
五、安装线上依赖。如:
//运行
npm install
or
yarn install
六、启动 pm2 和运行项目。例如:
<!---
* 佛曰:
* 写字楼里写字间,写字间里程序员;
* 程序人员写程序,又拿程序换酒钱。
* 酒醒只在网上坐,酒醉还来网下眠;
* 酒醉酒醒日复日,网上网下年复年。
* 但愿老死电脑间,不愿鞠躬老板前;
* 奔驰宝马贵者趣,公交自行程序员。
* 别人笑我忒疯癫,我笑自己命太贱;
* 不见满街漂亮妹,哪个归得程序员?
*
* @Description: 项目发布
* @version:1.2.0
* @Date: 2022-09-13 23:42:51
* @Author: wenBin
--->
pm2 start app.js
pm2 start app.js --name="api"