2017-01-19 2 views
1

Я пытаюсь загрузить модуль this в свой текст. Сначала я добавил пакет npm, и модуль был установлен правильно в моей папке node_modules как simpl-schema. Поскольку нет типизации для этого пакета я добавил эту строку:imprt node_module в машинописном (угловом) приложении

declare var SimpleSchema: any; 

Я пытался импортировать пакет с import * as SimpleSchema from 'simpl-schema'; и получил сообщение Cannot find module 'simpl-schema'. Я думаю, что получил это с simpl-schema не содержит информацию о типе, но я не уверен.

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

ответ

1

Вы правы, что получаете Cannot find module 'simpl-schema', потому что типы либо недоступны, либо типы не настроены должным образом.

Использование declare var SimpleSchema: any; в вашем TS говорит, что SimpleSchema переменные (var) типа any объявленного вне рамок этого файла. Вышеуказанное не повлияет непосредственно на результат импорта simpl-schema. Примером может быть добавление чего-то вроде declare const window: any;, чтобы получить доступ к объекту window, если он еще не определен для вас, в другом месте.

См. here, чтобы использовать тип any при поиске модулей, у которых нет доступных типов.

+0

Благодарим вас за ответ. В этом случае типы недоступны, поскольку simple-schema не содержит .d.ts. Но я все еще не знаю, что мне нужно сделать, чтобы использовать упрощенную схему в моем приложении. Если я добавлю 'declare var SimpleSchema: any;' процесс компиляции отлично работает, но при запуске в браузере объект SimpleSchema не может быть найден. Поэтому я попытался добавить '' 'в мой' index.html', который также не работает. – MarcS82

+0

Является ли 'SimpleSchema' доступным в глобальном масштабе из' main.js' (присоединение 'SimpleSchema' к' window')? Машинопись просто доверяет вам, когда вы используете 'declare var' для информирования компилятора о том, что это значение будет доступно там, где оно будет выполняться, но когда скомпилированный вывод будет запущен,' SimpleSchema' действительно будет там. –