zhangyuang / ssr

A most advanced ssr framework support React17/React18/Vue2/Vue3 on Earth that implemented serverless-side render specification.
http://doc.ssr-fc.com/
MIT License
2.61k stars 284 forks source link

vue3 ssr项目中部分场景下使用扩展运算符,在vite build之后产生报错 #331

Closed JesseHooo closed 4 months ago

JesseHooo commented 4 months ago

详细描述你的问题

使用nestjs-vue3-ssr-pinia模板初始项目,在vue文件中,已发现在对ref、computed、route.query中的数组使用扩展运算符时,dev时候正常运行,build后产生异常报错

期望的结果

期望对于该报错dev和build保持一致,并且请教如何解决此问题

当前使用的版本

"ssr": "^6.0.0"

具体复现

1.nestjs-vue3-ssr-pinia模板初始项目,配置为isVite 2.修改\web\pages\index\render.vue image 3.npm start 无报错 4.npm run build 5.pm2 start ./pm2.config.js 6.访问出现报错

你本人对问题可能的原因判断(如果你能大概判断的话)

对于普通数组使用[...arr]是没问题的,问题出现于vue ref相关的api使用[...arr]时 报错描述的应该是在defineComponent是发生错误 image

zhangyuang commented 4 months ago

无法复现,请直接提供复现仓库

JesseHooo commented 4 months ago

无法复现,请直接提供复现仓库

https://github.com/JesseHooo/ssr-nestjs-vue3-demo

zhangyuang commented 4 months ago

同样无法复现,建议检查自身的开发环境以及提供完整的错误信息

zhangyuang commented 4 months ago

你把lock文件也提交上来吧

JesseHooo commented 4 months ago

你把lock文件也提交上来吧

提交上去了,还是那个仓库

JesseHooo commented 4 months ago

补充 win11 AMD64,尝试过切换node版本重新构建运行仍未解决

JesseHooo commented 4 months ago

补充2: 1.用了另一台笔记本AMD64win11 node18 -- 没复现 2.用没复现的lock放到原本电脑上重新安装、构建、运行 -- 仍然复现 3.用了同事的电脑AMD64 win10 node18 -- 复现 4.用linux服务器x86_64 node16 --复现 5.朋友mac m2 拉demo 执行prod -- 没复现 目前对报错复现规律有点迷 具体报错信息: de4784d2bee9b0f7b24879970ebb1d6 6f188c7ebe60661ce79cd74731ac2cd 1718955684993(1)

zhangyuang commented 4 months ago

node_modules和构建后的build文件夹一起提交上来吧

JesseHooo commented 4 months ago

node_modules和构建后的build文件夹一起提交上来吧

提交了,麻烦大佬了

zhangyuang commented 4 months ago

你上传的node_modules无法直接运行,不过根据build里面的内容尝试修复了一下。删掉lock使用最新依赖ssr-common-utils@6.2.131试试

JesseHooo commented 4 months ago

更新依赖后确实没报错了,但是操作第二次的时候依赖更新了但报错仍复现。 复现仓库更新:main分支是ok的,demo2分支是仍复现的。(现在把所有gitignore取消了)

zhangyuang commented 4 months ago

报错信息贴出来,另外最新版本支持ssr build --nominify --vite支持构建未混淆的文件来查看报错信息

JesseHooo commented 4 months ago

报错基本是和上面的一样的

企业微信截图_17192812977292

企业微信截图_17192815272312

目前是通过避开该写法,避免报错 企业微信截图_17192812806626

早上试了之后demo仓库的代码基本不复现了,但自己开发的代码还是会出现,我再观察一下吧,感谢大佬的耐心