【发布时间】:2021-12-21 16:45:27
【问题描述】:
所以基本上我想在编辑器(VS Code)中使用 TypeScript 检查我的代码是否有错误,但不想执行任何转译步骤。
我的代码在 .js 文件中,"allowJs": true 在 tsconfig.json 中
唯一的问题是,编辑器会抱怨在 js 文件中使用 typescript-words,例如:
declare module "something" {
export interface MyInterface {
导致错误:
"'module' declarations can only be used in TypeScript files"
我尽量不在乎,但不幸的是,它在运行实际的 (node.js) 程序时也会导致错误!
SyntaxError: Unexpected strict mode reserved word
at Loader.moduleStrategy (internal/modules/esm/translators.js:145:18)
我不能以某种方式在没有 TS 的情况下进行 TS 检查吗?
我知道我可以,我的意思是它就在那里,但是我必须在应用启动之前删除与 TS 相关的所有内容。
IDK 也许有人有一个...转译器? :D
令人惊讶的是,互联网上没有太多关于此的信息。
我不会把TS转JS的原因:
- 花费时间
- 代码一团糟。它有我从未写过的随机函数,还有“var” 无处不在
- 错误的行号来自自动生成的 .JS 文件(f**ked up)
- 我为什么还要编译脚本语言
【问题讨论】:
-
您只需要添加一个单独的
.d.ts文件并在那里声明您的类型。请参阅:How to use TypeScript declaration files alongside JavaScript 或 About "*.d.ts" in TypeScript -
如果不添加类型注释(=需要转译器),您的体验不会很好,但总比没有好
-
感谢 .d.ts 文件确实有帮助。好像我什至不必将它包含在项目中。但是,是的,我希望在函数等中有注释。
-
UPD:我意识到我的 .js 文件发生了很大变化,因为我使用的是 SWC 而不是 TSC。 TSC 似乎只从文件中删除空格。嗯。必须想办法解决这个问题。
标签: javascript node.js typescript jsdoc