Summernote-это jQuery плагин, и я Дон'т необходимость определения для него. Я просто хочу, чтобы изменить объект, но ТС продолжает бросать ошибки. Линии ржали по-прежнему дает мне: и"собственность '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"
]
}
Вы можете использовать /* tslint:отключить-следующей строки */
, чтобы локально отключить tslint. Однако, как это компилятор ошибка при отключении tslint может не помочь.
Вы всегда можете временно литой $
на любой
:
delete ($ as any).summernote.options.keyMap.pc.TAB
которая позволит вам получить доступ к любым свойствам, которые вы хотите.
Редактировать: как машинопись 2.6, теперь вы можете обойти ошибку компилятора/предупреждения для конкретной строки:
if (false) {
// @ts-ignore: Unreachable code error
console.log("hello");
}
Обратите внимание, что официальные документы "и рекомендуем вам использовать [это] очень sparingly". Это почти всегда желательно литой, а не для "любого" а, что лучше выражает намерения.
Похожие на этот ответ, вы можете переопределить JQueryStatic
определение типа включить summernote
собственность.
interface JQueryStatic {
// Opt out of type-checking summernote using the any type
// See https://www.typescriptlang.org/docs/handbook/basic-types.html#any
summernote: any
}
(function ($) {
delete $.summernote.options.keyMap.pc.TAB;
delete $.summernote.options.keyMap.mac.TAB;
})(jQuery)