TypeScript предоставляет возможность определять глобальные внешние модули.Например, если у меня есть библиотека jQuery, загруженная извне, я могу настроить глобальное определение, не включая его дубликат в комплект TypeScript.Но когда я пытаюсь сделать то же самое для модуля «момент», компилятор не импортирует его набор текста.
Вот мой контент tsconfig.json
, compilerOptions
section
"compilerOptions": {
"outDir": "../out-tsc/app",
"module": "es2015",
"types": ["jquery", "moment"]
}
Вот фрагмент кода, который использует эти определения:
console.log($);
console.log(moment); // error TS2304: Cannot find name 'moment'
Так что он отлично работает для jQuery, но не для MomentJS.У меня также есть @types/jquery
и moment
, добавленные к package.json
и установленные в node_modules
.
Я знаю, что возможно использовать синтаксис импорта ES6, но он будет включать его в комплект, и я хочу избежатьэто потому, что он уже загружен в другом месте приложения.