Я хотел бы использовать moment.js в моем приложении узла, так что я установил moment.js с помощью менеджера пакетов НПМ узла:машинопись не рассосется внешний модуль (Node.js)
npm install [email protected]
Просто быть на всяком случае, я проверил момент не установлен глобально и установленная версия действительно версия 2.4.0 (версия 2.4.0, чтобы использовать файл правильного d.ts ...)
require("moment").version
Хорошо, кажется хорошим. Я также использую последнюю версию TypeScript (0.9.5).
Итак, теперь я добавил следующий файл в моей корневых проектах директории https://github.com/borisyankov/DefinitelyTyped/blob/master/moment/moment.d.ts и refernced файл:
/// <reference path="moment.d.ts" />
Теперь он должен работать, чтобы импортировать момент использования машинописного импорта ключевого слова:
import m = require("moment");
Компиляция с помощью следующей команды
tsc app.ts --module commonjs
produkt КЕС следующие ошибки
/home/unknown/temp/test/app.ts(3,1): ошибка TS2071: Не удается решить проблему внешнего модуля ' "момент"'. /home/unknown/temp/test/app.ts(3,1): ошибка TS2072: Модуль не может быть псевдонимом для немодульного типа.
Зачем возникает эта ошибка? Как это исправить?
Файл moment.d.ts записывается в предположении, что вы загрузили его с помощью тега сценария, а не для вызова вызова. Вам нужно будет отредактировать файл .d.ts, чтобы он выглядел как внешний модуль (для определения того, как это сделать, должны быть какие-то другие примеры на DefinitelyTyped). –