我开始使用TypeScript,现在我跟随TypeScript in 5 minutes指南。当我将鼠标悬停在EXEC msdb.dbo.sp_send_dbmail
@recipients = @VAR_Dest_EmailAddress,
@subject = @sPlanNumber,
@body = @VAR_BODY,
@body_format = 'HTML' --declare the body formatting of the email to be HTML
@profile_name = 'SQL Email Profile' ;
函数名称上时,我在Visual Studio Code中收到一个奇怪的警告,如下图所示。警告是:
[ts]重复的功能实现。
function greeter(person:Person):string(+1 overload)
但是我的单个文件中没有其他独特功能的实现!当我运行set @VAR_Body = 'Renewal Date= ' + Convert(varchar(11),@dRenewal,@DateDisplayFormat) + '<br/>'
--we can now use the html break character which will be rendered by all email clients
set @VAR_Body = @VAR_Body + 'Existing Insurer= ' + @sExistingInsurer + '<br/>'
set @VAR_Body = @VAR_Body + 'Existing Insurer ID= ' + Convert(varchar(10),@lExistingInsurerID) + '<br/>'
时,一切正常,并生成了js文件。
完整的greeter
文件:
tsc greeter.ts
为什么我收到此提醒?怎么解决?我看了this question,但我认为它没有关联。
答案 0 :(得分:35)
看起来这是Visual Studio Code中的一个错误。关于此问题,GitHub上存在一些问题,例如here和here。对这些问题的评论意味着这是一个问题,然后得到修复,并且在v1.12.1中再次成为一个问题。
看起来解决方案就是运行tsc --init
来初始化文件夹中的tsconfig.json
。
答案 1 :(得分:1)
根据this article,在Typescript文件顶部添加以下简单行 导出{};
[index.ts] 导出{};
declare const signalR: any;
declare const moment: any;
答案 2 :(得分:1)
这可能是因为您的TypeScript项目没有tsconfig.json
文件。
尝试创建一个tsconfig
文件并编写默认的“ compilerOptions” 。
它为我工作。
我使用的带有默认代码的tsconfig.json
文件是:
{
"compilerOptions": {
"module": "commonjs"
},
"exclude": [
"node_modules"
]
}
有关VS TypeScript编译的更多信息,请参考 https://code.visualstudio.com/docs/typescript/typescript-compiling
答案 3 :(得分:1)
在我的情况下,如果文件不导入/导出任何内容,则不视为模块,并且VS Code假定所有文件都将串联在一起。您可以通过添加导入/导出来修复它。
我还继续设置tsconfig使其包含isolatedModules
,以便获得更有用的错误消息。
{
"isolatedModules": true,
}
答案 4 :(得分:1)
旧帖子,但希望这对某人有所帮助:
我写代码时遇到了这个问题:
function myFunc() { ... }
module.exports = {
myFunc
}
我改用这种方式解决了这个问题:
export function myFunc() { ... }
答案 5 :(得分:0)
如果您在同一目录中同时包含src文件(打字稿)和已转译的文件(javascript),并在VS Code中打开javascript文件,则会收到错误消息。将已编译的文件输出到目录中,不会出错。使用--outDir标志:
tsc --outDir ./dist greeter.ts
在VS Code 1.26.1版本中解决了此问题。生成tsconfig.json文件并不能使错误消失。
答案 6 :(得分:-2)
当我们打开file.ts和转换的file.js文件并执行TSC时,会发生此错误 请关闭已转换的file.js并重试。