nodejs требуется внутри файла TypeScript

Мне интересно, как загрузить обычный узел nodejs из node_modules из classа TypeScript .

Когда я пытаюсь скомпилировать файл .ts который содержит:

 var sampleModule = require('modulename'); 

компилятор говорит мне, что я не могу использовать require в этой области. (эта строка находится в начале файла).

Есть ли способ загрузки и использования модhive из node_modules внутри classа TypeScript ?

Typcript всегда будет жаловаться, когда он не сможет найти символ. Компилятор поставляется вместе с набором определений по умолчанию для window , document и таких, которые указаны в файле lib.d.ts Если я использую grep для require в этом файле, я не могу найти определения функции. Следовательно, мы должны сами сообщить компилятору, что эта функция будет существовать во время выполнения с использованием синтаксиса declare :

 declare function require(name:string); var sampleModule = require('modulename'); 

В моей системе это просто отлично.

Правильный синтаксис:

 import sampleModule = require('modulename'); 

или

 import * as sampleModule from 'modulename'; 

Затем скомпилируйте свой TypeScript с помощью --module commonjs .

Если пакет не поставляется с файлом index.d.ts а его package.json не имеет "typings" , tsc будет лаять, что он не знает, что 'modulename' . Для этого вам нужно найти файл .d.ts для него на http://definitelytyped.org/ или написать его самостоятельно.

Если вы пишете код для Node.js, вам также понадобится файл node.d.ts с node.d.ts http://definitelytyped.org/ .

Лучшее решение – получить копию определений типа узла. Это решит все виды проблем с зависимостями, а не только require() . typings это делалось с использованием пакетов, таких как typings , но, как отметил Майк Чемберлен, «Типики» устарели. Современный способ делает это так:

 npm install --save-dev @types/node 

Он не только исправит ошибку компилятора, но также добавит определения API-интерфейса Node в вашу среду IDE.

Используйте типизацию для доступа к функциям узла из TypeScript:

 typings install env~node --global 

Если у вас нет пиктограмм 😲 установите его:

 npm install typings --global 
  • Вызов глобальной переменной внутри модуля Typcript
  • Как передать необязательные параметры в TypeScript, опустив некоторые другие необязательные параметры?
  • TypeScript any vs Object
  • Сбивание «дубликата идентификатора»
  • Как запустить файлы TypeScript из командной строки?
  • Как использовать модули npm из машинописного текста?
  • Как использовать jQuery с TypeScript
  • TypeScript Преобразование строки в число
  • Как устранить ошибку TypeScript TS2533: возможно, объект «null» или «undefined»?
  • Как предотвратить ошибку? Подпись индекса типа объекта неявно имеет тип «any» при компиляции машинописных файлов с флагом noImplicitAny?
  • получить и установить в TypeScript
  • Давайте будем гением компьютера.