AMD RequireJS @types TypeScript 2 Visual Studio 2015 кошмар

Мне поручено обновить наш проект angularJs до TypeScript 2

В настоящее время мы используем requirejs (AMD) для подбора библиотек, а затем используем

import 'angular'; import 'lodash';

насколько я понимаю, это синтаксис загрузки модуля ES6. Мы объявляем основной модуль приложения и импортируем в него библиотеки, а затем импортируем модуль приложения.

import 'Application';

который также называется requirejs, мы автоматически получаем весь список импортируемых библиотек Application по мере его импорта.


Я фактически обновил проект УСПЕШНО до TypeScript 2!!!

Однако проблема возникает, когда я пытаюсь использовать @types для включения файлов декларации TypeScript.

Там нет ни одного полного руководства о том, как сделать работу!

****** Вопрос! ******

Когда я попытался использовать @types/lodash, я потерял intellisense для _ (lodash) во всех существующих файлах.

Когда я пытаюсь

import * as _ from 'lodash';

Я тогда столкнулся с другой ошибкой:

Build:Module augmentation cannot introduce new names in the top level scope.

Насколько я понимаю, файлы.d.ts экспортируют модули UMD. Но как я могу ссылаться на @types в моей Visual Studio 2015?

Пожалуйста помоги! И спасибо.

0 ответов

requireJS НЕ обрабатывает UMD (универсальную загрузку модуля) изящно. Все библиотеки @types являются библиотеками UMD.

Нам пришлось перейти на WebPack для правильной загрузки библиотек @types.

Что наиболее важно, мы сделали это как шаг ближе к обновлению до Angular 5, к которому не может получить доступ requireJS AMD, так как он был написан на TypeScript как UMD с самого начала.

Другие вопросы по тегам