添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

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

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

开发起来十分舒心。

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

  • tsconfig.json 在creator项目种是否只起到代码提示的作用?如果不是是否有其他的配置方法到达这种目的。
  • 如果不可以,是不是可以写一个插件在 ts转换到js的中途替换正确的路径。
  • 代码编辑器通常有 Auto Import 功能,不用写 import,应该是姿势不对。。。

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

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

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

    重构代码时经常会重命名脚本,这不免要修改到 import引用的路径 在修改creator项目重构代码时会遇到个尴尬问题: 1.在vscode下重命名脚本可以自动修改import引用的路径,但脚本在creator的配置信息会丢失 2.在creator下重命名虽然不会丢失配置信息,但也不会自动修改import引用的路径 在老铁们的建议下我在内置代码编辑器插件内做了个解决方案: [cmd3]

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

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