Open iclouden opened 2 years ago
经查,是由于多个依赖库引用了不同的 tslib
所致,可通过 npm ls tslib
查看详情。
Cocos 目前包引用机制似乎有 BUG,例如 发现 tsrpc-base-client
下有 node_modules
目录后,便只在其中查找,如找不到不会向上层文件夹继续查找。
node_modules
npm i tslib@latest
(这一步的目的是,使 tsrpc-base-client
等包不再有子级的 node_modules
目录)npm i
library
temp
目录,重启 Cocos将 Cocos 和 Vue 项目放在不同的目录(可通过 tsrpc 的 link 来共享代码)
这边后续版本会优化一下,对于依赖的 tslib
不再限定版本。
同时给 Cocos 也提了 issue 单,欢迎持续关注: https://forum.cocos.org/t/topic/131409
经查,是由于多个依赖库引用了不同的
tslib
所致,可通过npm ls tslib
查看详情。 Cocos 目前包引用机制似乎有 BUG,例如 发现tsrpc-base-client
下有node_modules
目录后,便只在其中查找,如找不到不会向上层文件夹继续查找。解决方案 1
- 删除
node_modules
npm i tslib@latest
(这一步的目的是,使tsrpc-base-client
等包不再有子级的node_modules
目录)npm i
- 删除
library
temp
目录,重启 Cocos解决方案 2 (推荐)
将 Cocos 和 Vue 项目放在不同的目录(可通过 tsrpc 的 link 来共享代码)
我用方案1解决了, 方案2想起来就有点麻烦, 而且个人不喜link方式, 对于系统来说是同个目录, 但在不同git副本之间会变成独立的目录, 虽然可以通过tsrpc里的同步功能来实现, 但我不想依赖太强, 会导致团队协作环境更复杂
感谢作者大佬!
我用
npx create-tsrpc-app@latest
创建了vue+后端的例子, 先完成了vue的demo版本, 想在此基础上加上creator3.4.1的版本 导入creator后, 会出现如下的错误:我对比过cocos商店中的疯狂打群架多人版 (我已使用相同的
tsrpc-browser
版本)排查到了一个差别 我的版本,在creator加载时,importMap的数据里,tsrpc-base-client下,只解析出了tslib,如图:
而疯狂打群架多人版本的frontend项目,在同样位置,importMap的数据,tsrpc-base-client下,却解析出了k8w-extend-native 如图:
但我并不知道为什么导致的
提供我的frontend项目: frontend.zip