我正在开发一个Asp.net MVC项目,其中包含Smartadmin主题和Typescript以及用于Dom操作的JQuery类型,有一个名为SmartMessageBox的jquery库用于提示消息,是否有一种简单的方法可以在我的typescript文件中使用这个库,因为我明白了 错误构建:属性'SmartMessageBox'在类型'JQueryStatic'
上不存在答案 0 :(得分:0)
如果消息框仅用于一个文件,最简单的解决方案是在文件顶部添加类似的内容:
declare const jQuery: JQueryStatic & {
// *** Choose one of the following ***
// Most basic:
SmartMessageBox: any;
// Better (assuming SmartMessageBox is a function):
SmartMessageBox(/*param type info*/): /*return type or void*/;
};
这表示jQuery
是一个全局对象,其类型为接口JQueryStatic
的{{3}}和描述SmartMessageBox
的接口。
如果是消息框或其他&#34;智能管理员&#34;类型用于多个文件,您应该考虑编写.d.ts文件。 union和official documentation应该有助于确定要做什么。将文件保存在<project root>/typings/smart-admin/index.d.ts
下,并在tsconfig.json中添加以下内容:
{
"compilerOptions": {
"typeRoots": ["./node_modules/@types", "./typings"]
}
}
这告诉编译器在./typings
以及./node_modules/@types
(从{npm安装的@types
包的默认位置)下查找类型定义。
答案 1 :(得分:0)
您必须为SmartMessageBox创建一个d.ts文件。 https://www.typescriptlang.org/docs/handbook/declaration-files/introduction.html