Как импортировать в Typescript без объявления модуля

У меня есть куча автоматически сгенерированных модулей, на которые мне нужно ссылаться из моих машинописных файлов.

Eg

import test = require('../templates/test')

Я создаю модули CommonJS с выходом ES5. Поэтому я не могу использовать amd-dependency (поскольку это работает только для модулей amd). И я также не могу объявить модуль вручную, так как 1. он создается автоматически и 2. имеет относительный путь.

Typescript 1.6 в настоящее время показывает ошибку «Не удается найти модуль». Как мне заставить его подавить эту ошибку и импортировать?


person pdeva    schedule 20.09.2015    source источник
comment
Похоже на проблему с путями. Если нет, можете ли вы привести краткий пример из автоматически сгенерированных модулей и указать пути, по которым они сохраняются, относящиеся к файлу, который их использует?   -  person AlexStack    schedule 20.09.2015
comment
это не проблема пути. как я уже говорил, проблема просто в том, что модуль "typescript" не был объявлен для вышеупомянутого модуля, что очевидно, поскольку он был сгенерирован автоматически. вопрос спрашивает, как подавить ошибки машинописного текста для модулей без определения машинописного текста.   -  person pdeva    schedule 20.09.2015


Ответы (2)


Как мне заставить его подавить эту ошибку и импортировать

Если вы уверены, что оператор require действителен и хотите отключить любую проверку типов при импорте, вы можете просто использовать node.d.ts и сделать:

var test = require('../templates/test')

т.е. просто используйте var вместо import.

person basarat    schedule 20.09.2015
comment
Отправка кода любви в вашу сторону. Я боролся с этим довольно долго - person Hunkpapa; 15.12.2015

Если вы хотите использовать импорт TypeScript (который является просто импортом ES6), вы можете использовать это:

import * as test from '../templates/test';

а затем вызовите свой API следующим образом:

let foo = test.MY_API;
person Wassim Chegham    schedule 27.02.2016