建议模块名都加一个前缀 C3。例如 Node from "cc" => C3Node from "cc"

Unity原来用了一个Unity.Object,和System.Object,混淆很久,总有一个需要在代码中写全包名,要么Unity.Object,要么System.Object。

Creator3也有这个问题,cc.Node和lib.dom.d.ts的Node同名,除非手写 import {Node} from “cc”,否则Node就认为已经有类型了。

其实这些都是短视的行为,我强烈建议所有模块名都改成C3前缀,例如 例如 Node from “cc” => C3Node from “cc”

这会带来非常大的好处,你试试去百度,看看Node查出来都是啥内容,再试试用C3Node,世界独一无二,非常精准。VSCode 导入也好导入。

洁癖不带来开发效率。学院派不适合工地农田。

连cc都被干掉了,还有什么cc.c3

这只是一个意会。Node => C3Node的意思

鸦哥竟然有时间水论坛了

我其实也有同感,命名可以研究下,冲突导包太不方便了~

命名空间不就是用来解决这问题的吗?

1赞

是的 每次都要检查 Node 是否 正确导入 同感

我就想吐槽下····哈哈

时隔6小时,鸦哥终于有时间水论坛了

哈哈,其实跟短不短视无关。
Node 是 2d-x 里面继承下来的 API……
改了被 diss
尽量不瞎改也被 diss
太南了
(其实之前 2.x 也有个 Object)

那个v2的是cc.Object cc.Node没有问题,你这个v3的Node是ES6模块,单独出现的,不一样的。

最关键不利推广。Node这个词太普通了,百度查不到精准技术资料。

哈哈,我之前也想提这个问题的。

主要是 typescript 也不推荐用 namespace 了,不然之前的直接 cc.Node 用起来挺爽的。既没有歧义,很多类型也不会和游戏里定义的类型重名。

搜索结果质量堪忧。

脚本最前面加上import * as cc from ‘cc’;后面一切照旧2.x的习惯

建议改成GameObject



看了一下谷歌的搜索结果还好