特定の行の ts ルールを無効にするにはどうすればいいですか? 質問する

特定の行の ts ルールを無効にするにはどうすればいいですか? 質問する

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

これにより、必要なプロパティにアクセスできるようになります。

おすすめ記事