Summernote は jQuery プラグインなので、型定義は必要ありません。オブジェクトを変更したいだけですが、TS はエラーをスローし続けます。次の行では、依然として「プロパティ 'summernote' は型 'jQueryStatic' に存在しません。」というエラーが発生します。
(function ($) {
/* tslint:disable */
delete $.summernote.options.keyMap.pc.TAB;
delete $.summernote.options.keyMap.mac.TAB;
/* tslint:enable */
})(jQuery)
編集:
これが私のtsconfig.jsonです
{
"compilerOptions": {
"outDir": "./dist/",
"sourceMap": true,
"noImplicitAny": true,
"module": "commonjs",
"target": "es5",
"allowJs": true,
"noUnusedParameters": true
},
"include": [
"js/**/*"
],
"exclude": [
"node_modules",
"**/*.spec.ts"
]
}
ベストアンサー1
Typescript 2.6 以降では、特定の行のコンパイラ エラー/警告をバイパスできるようになりました。
if (false) {
// @ts-ignore: Unreachable code error
console.log("hello");
}
公式ドキュメントでは、 「[これ] を控えめに使用することを推奨します」 。意図をより適切に表現するため、ほとんどの場合、代わりににキャストすることが望ましいです。any
古い回答:
ローカルで tslint を無効にするには、 を使用できます/* tslint:disable-next-line */
。ただし、これはコンパイラ エラーなので、tslint を無効にしても役に立たない可能性があります。
$
いつでも一時的に次の場所にキャストできますany
:
delete ($ as any).summernote.options.keyMap.pc.TAB
これにより、必要なプロパティにアクセスできるようになります。