импорт модулей, установленных глобально с 'npm' в файлах ts-node - PullRequest
0 голосов
/ 30 сентября 2018

Я очень новичок во всех этих вещах Node и TypeScript, поэтому, если я делаю что-то не так, как должно быть, не стесняйтесь комментировать мой подход.

Япытаясь поиграться с RxJS и хотел бы иметь возможность написать некоторый код и запустить его в командной строке, без необходимости писать HTML-страницу и запускать браузер.Я установил nvm с Homebrew и через него я установил node 10.11.0 и могу успешно использовать его:

$ which node
/Users/wujek/.nvm/versions/node/v10.11.0/bin/node
$ node -e 'console.log("Hello, world!")'
Hello, world!

Я хотел бы использовать TypeScript для написания своего кода, поэтому я установил его глобально(версия 3.0.3) через npm, и это работает - я могу написать базовый файл .ts и перенести его в .js, используя tsc в командной строке.

Я бы хотелзапустить .ts файлы в командной строке, и я нашел ts-node и установил его глобально (версия 7.0.1) через npm.Нет, я могу запустить простые файлы:

$ ts-node <(echo 'class Foo{}; console.log(new Foo());')
Foo {}

В качестве последнего шага я глобально установил RxJS (версия 6.3.3) через npm и перепробовал все это вместе, и здесь это не удается при импортестрока:

$ echo 'import { Observable } from "rxjs";' > rx.ts
$ ts-node rx.ts

/Users/wujek/.nvm/versions/node/v10.11.0/lib/node_modules/ts-node/src/index.ts:261
return new TSError(diagnosticText, diagnosticCodes)
       ^
TSError: ⨯ Unable to compile TypeScript:
rx.ts(1,28): error TS2307: Cannot find module 'rxjs'.
(and the error stack trace)

Я не запустил ни одного проекта или чего-либо еще, я просто установил инструменты, написал исходные файлы и запустил инструменты.

Исходя из других платформ, таких как Python,Я ожидаю, что глобально установленные модули будут доступны, но они не доступны (или я неправильно импортирую их, может быть, синтаксис для Node должен быть другим?).Как я могу заставить это работать?Я бы предпочел не запускать полностью взорванную IDE, такую ​​как VS-Code (я бы даже не знал, как заставить код работать), поскольку я хотел бы начать с простого и скромного в CLI.

...