我有一个生成d.ts文件的Typescript模块。在其中,有些部分使用了readonly关键字,如下所示:
readonly type:string当我在另一个模块中使用该d.ts文件时,编译器抛出一个错误,指出:
error TS1005: '=' expected.我使用的是gulp-typescript 5.0.1和typescript 3.5.3。
Stackoverflow上的其他一些帖子建议增加gulp-typescript和typescript的版本,但我使用的是较新的版本。
gulp-typescript compiler throws errors on readonly modifier
有没有一种方法可以强制Typescript不在d.ts文件中写出只读关键字,比如为了兼容性而针对较低版本的输出?
有没有办法检查正在使用哪个版本的Typescript进行编译?我从全局npm目录中删除了较旧版本的Typescript,但我想检查它是否正在读取某个较旧的模块。
发布于 2019-08-26 18:27:58
我的问题似乎是由旧版本的npm引起的。我升级了npm,清理了模块文件夹,并重新构建,它工作正常。我不确定为什么相同版本的Typescript编译器在不同版本的npm上表现不同。也许它在某个地方安装了较旧版本的编译器。
对调试这个问题有用的是能够打印出gulp-typescript进程使用的Typescript编译器的路径或版本。
https://stackoverflow.com/questions/57636227
复制相似问题