Я задаюсь вопросом, как избавиться от ошибок/Машинопись типизации как:машинопись Ошибки: Webpack/Угловые 2/типизации
Property 'modal' does not exist on type 'JQuery'.
Насколько я знаю, что я правильно установлены последние типизации для JQuery и он определенно находит и использует их (я проверял это). Свойство «модальный» на самом деле функция Я звоню как:
$('#popup').modal();
// modal() is part of the Semantic UI library which is available and works in my browser
Пожалуйста, обратите внимание, я использую последнюю версию типизации v1.0.4, который, кажется, предпочитают использовать globalDependencies
вместо типов «окружающей среды». Мой typings.json файл:
{
"globalDependencies": {
"core-js": "registry:dt/core-js#0.0.0+20160317120654",
"jasmine": "registry:dt/jasmine#2.2.0+20160505161446",
"jquery": "registry:dt/jquery#1.10.0+20160417213236",
"node": "registry:dt/node#4.0.0+20160509154515",
"source-map": "registry:dt/source-map#0.0.0+20160317120654",
"uglify-js": "registry:dt/uglify-js#2.6.1+20160316155526",
"webpack": "registry:dt/webpack#1.12.9+20160523035535"
}
}
Есть ли способ, что я могу сказать типизации, что функции, такие как модальный() и многие другие, на самом деле в порядке и не бросать ошибки?
UPDATE: За ответ ниже я решил эти ошибки, добавив следующую строку в файл пользовательских типизации, что я загрузить custom-typings.d.ts
interface JQuery {
modal: (cmd?: string, options?: any) => JQuery;
dropdown:() => void;
checkbox:() => void;
calendar: (options?:any) => void;
}
Это говорит машинопись, что объект JQuery имеет дополнительные функции, имеющиеся в его распоряжении: modal(), dropdown() и т. д.
Вы заметите, что для моего модального определения я указываю две необязательные переменные, которые могут быть переданы (поскольку это поведение функции Semantic UI modal(), которую я с помощью). Кроме того, функция модальных() возвращает другой объект JQuery рекурсивно, так как реальный человек действует так, а также - что позволяет мне назвать его несколько раз в цепочке:
$('#someId').modal('setting', {autoFocus: true}).modal('show')
Вы используете amd (Requirejs и т. Д.) Для этого – kwiri
@kwiri Я не уверен, как ответить на ваш вопрос. Я слышал о AMD и RequireJS, но я не совсем уверен, что они делают, или если это что-то связано с Webpack? – FireDragon