vue3项目之VUE-SSR 打包部署配置

VUE-SSR 打包部署配置

我们在 package.json 中添加以下指令用于打包

"build:client": "vite build --outDir dist/client",
"build:server": "vite build --outDir dist/server --ssr src/entry-server.ts",
"build:ssr": "npm run build:client && npm run build:server"

所以使用 npm run build:ssr 一键打包生产 dist 文件夹

我们使用 server.js 来运行开发环境的代码

"dev:ssr": "node server"

npm run dev:ssr

我们新建 server_prod.js 来运行生产环境的代码,就是运行 dist 文件夹!

"pro:ssr": "node server_prod"

npm run pro:ssr

10.1 打包部署报错问题

1、使用 vue-lazyload 图片懒加载时报错,在官网发现它在 SSR 打包的时候会被当成是 vue 指令来解析,目前还没有找到解决方案,所以只能抛弃了

2、在两个 server.js 中无法使用 require 来导入文件,所以被迫拆分成两个 server.js

10.2 process.env 的使用

我们将 process.env.NODE_ENV 作为一个全局变量使用

下载依赖:npm install cross-env -D

这样在执行命令的时候可以传入全局变量的参数了

"dev:ssr": "cross-env NODE_ENV=development node server",
"prod:ssr": "cross-env NODE_ENV=production node server",

server.js 中定义变量

// process.env.NODE_ENV 'development' 'production'
const isProd = (process.env.NODE_ENV === 'production')

// isProd 判断是开发环境还是生产环境
10.3 vite 环境变量

https://blog.csdn.net/weixin_46769087/article/details/128120034

10.4 gzip 打包压缩

下载依赖:npm i vite-plugin-compression --save-dev

在 vite.config.ts 里面配置

import vitePluginCompression from 'vite-plugin-compression'

plugins: [
	...
    vitePluginCompression()
],

然后打包就会把 js 文件变成 gz 文件,压缩了三分之一的体积

但是还得在后端调配置才能使用 gz 文件!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cocoonne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值