最近在做项目的TS升级,发现有些位置不知道怎么修改,才能去掉下划线,特来问问各位大神(请原谅我一个重度IDE依赖症和强迫症患者):
- 我项目中i18n插件的安装方式是全局的,在项目目录下没有对应的插件脚本,如果想要使用这个插件,在ts文件中应该如何引入?目前我的写法是
import * as i18n from ‘/Users/XXXXXX/.CocosCreator/packages/i18n-master/runtime-scripts/LanguageData’;
如果不想出现警告的话,是不是只能这样写?
2.TS可以动态的加载js文件么?我的工具类中,有个静态方法,用于根据指定的语言动态加载对应的i18n配置文件
static changeLanguage(language : string) : void{
MCCUtils.curLanguage = language;
require(MCCUtils.curLanguage); //这里也会有编译警告,可以的话,怎么写才能去掉警告?
i18n.init(language);
}
3.以前直接这样写是没问题的
canvas.designResolution = cc.size(2048, 1536);
改成TS后,会提示警告(Cannot invoke an expression whose type lacks a call signature. Type ‘Size’ has no compatible call signatures.),这个有其他的api替代么?
4.cc.audioEngine.preload ( filePath callback )的callback要怎么写?直接采用js的匿名函数也是会出现警告
//function这提示Argument of type ‘() => void’ is not assignable to parameter of type ‘void’.
cc.audioEngine.preload(_me.audio, function () {
//do something;
});
唉,强迫症患者伤不起啊。。。。。。。


Todd