gpt4 book ai didi

typescript - Visual Studio 2017 使用 TypeScript 转译时出现构建错误

转载 作者:搜寻专家 更新时间:2023-10-30 21:50:26 26 4
gpt4 key购买 nike

我正在使用 Visual Studio 中对 TypeScript 的内置支持,这样当我保存 TypeScript 文件时,它们会被转换为 JavaScript 文件。

我有以下脚本:

declare namespace myLib {
function makeGreeting(s: string): string;
let numberOfGreetings: number;
}

$(document).ready(function () {
alert("bp1");
});

我的 tsconfig.json 文件包含以下内容:

{
"compileOnSave": true,
"include": [ "*.ts" ],
"compilerOptions": {
"allowJs": true,
"sourceMap": true,
"outFile": "..\\js\\site.js",
"target": "es3"
},
"typeAcquisition": {
"enable": true,
"include": [ "jquery" ]
}
}

当我保存文件时,它被毫无问题地转译为 JavaScript,但是当我重建项目时,我遇到如下错误:

TS2304 Build:Cannot find name '$'. Presentation (Presentation\Presentation) C:\Development-MVC\NET\Ev\Web\UI\Presentation\Content\ts\welcome.ts 6

我认为这与类型获取功能在构建时不起作用有关,但我不确定如何修复它。

最佳答案

类型定义的自动获取似乎不适用于 jQuery。有 limited information on type acquisition here .

这是另一种方法。

确保您已经安装了 jquery 及其类型。我们可以从命令行使用 NPM 来完成此操作。

npm install jquery --save
npm install @types/jquery --save-dev

或者,我们可以手动编辑 package.json 文件。

{
"dependencies": {
"jquery": "^3.2.1"
},
"devDependencies": {
"@types/jquery": "^3.2.11" <----- These types will be necessary.
}
}

安装 jQuery 及其类型将解决 Cannot find name '$' 错误。

之后,在您的 tsconfig 中确保使用 domes2015 库。否则,编译器将在解析 jquery 后输出新的错误。

{
"compileOnSave": true,
"include": [ "*.ts" ],
"compilerOptions": {
"allowJs": true,
"sourceMap": true,
"outFile": "..\\js\\site.js",
"target": "es3",
"lib": [ <---- These two libs will be necessary.
"dom",
"es2015"
]
},
"typeAcquisition": {
"enable": true,
"include": [ "jquery" ]
}
}

关于typescript - Visual Studio 2017 使用 TypeScript 转译时出现构建错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45512261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com