ts脚本编译插件

在开发ts项目中,经常要写带 ../../../xxx 超长超复杂的相对路径的import语句,不美观又容易写错,于是按以往非cocos的ts项目中会在tsconfig中配置路径转换:

      "baseUrl": "assets",
      "paths": {     
        "@/*": ["src/*"]
      }

开发起来十分舒心。

但是creator却不生效, 生成的js代码中 require语句中的路径并没有变化,导致出现模块找不到的错误。

问题:

  1. tsconfig.json 在creator项目种是否只起到代码提示的作用?如果不是是否有其他的配置方法到达这种目的。
  2. 如果不可以,是不是可以写一个插件在 ts转换到js的中途替换正确的路径。

这么对年了, 我一直想知道怎么解决这个问题,官方大佬都不关心这个问题。。。。

不知道怎么自定义引擎的ts编译,现在的打包会为每个ts文件注入重复的help函数,额外增加体积,修改tsconfig.json无效,明显引擎编译不使用项目里的tsconfig.json。

代码编辑器通常有 Auto Import 功能,不用写 import,应该是姿势不对。。。

个人感觉重构的时候修改文件所在的路径时,比较蛋疼。。。

不过提前设计好文件规范,这些都是很少发生,倒是能忍。

框架级别的,还是打包写成插件,这样就没有路径烦恼了。

插件功能: 在creator的资源管理器内修改TS/JS文件路径可自动同步修改代码import/require

哭了,找半天没一个帖子是解决了的

别想了,不支持

2.x是不行的 3.3以上开始支持paths 但是baseUrl还是不支持 不过不影响 支持paths也够了

编译时用的tsc和项目的tsc并不是同一个,如果要实现绝对路径加载,需要自己实现一层打包。
然后想办法在预览和打包前先调用这个打包命令…
有很多人说auto-import,auto-import并不能解决问题,绝对路径引入主要解决的问题是文件位置改变以后不需要重新修改文件内的引入路径,就是说不管在ccc编辑器还是finder里怎么拖都不需要改路径。
有时候把一个文件夹拖动到另一个文件夹,编辑器里那些报错还得一个一个脚本的去改,能烦死。

不过慢慢的也想通了,虽然用ccc的前端能人很多,但ccc是个游戏开发工具,ts只是脚本,还需要兼容多端,并不是个标准环境。
最近换上了3.0,npm包兼容性更差了,我想官方团队也不是没能力去实现一个更现代的打包流程,应该只是他们觉得没必要。毕竟人家只是个游戏引擎,脚本打包做的那么强干什么。
程序员思维就是这样,做游戏同时脚本部分还要尽善尽美,其实代码丑还是美也不关游戏好不好玩。
想找个完美的游戏引擎真难,我就不提别的竞品了,大家都有自己的为难,如果合适的话早就换了。
总结我还是想说,既然用了web前端脚本的生态,官方应该把体验做好一点。

paths好像打包了就不行了。

哦看到了3.3支持的

老哥 你上面写了个小作文哈哈哈

你不知道在2.x的时候我搞这个搞了多久,包导入和ts支持真的让人恼火

随着时间的推移 所有问题都不再是问题哈

auto-import 真的能解决一切,我之前也找过引用绝对路径的办法,后面还是通过自动导入做的,你是为什么需要绝对路径呢?引用库/框架?

适合你就行。