Не удается загрузить локальные модули dir Node.js при использовании --input-type - PullRequest
0 голосов
/ 23 мая 2019

Node.js 12+ имеет новый параметр командной строки --input-type для запуска сценария внутри Bash heredoc. Однако он не может найти модули Node.js, установленные в ./node_modules

Вот как я устанавливаю модуль:

cd test
npm i moment

И запустите Node.js со скриптом в heredoc:

cd test

#this works
node --experimental-modules --input-type module <<<"import fs from 'fs'"

#this doesn't
node --experimental-modules --input-type module <<<"import moment from 'moment'"

Даже при установке момента с глобальной опцией -g все равно выдается ошибка ERR_MODULE_NOT_FOUND. Любые решения?

1 Ответ

0 голосов
/ 25 мая 2019

Как уже упоминалось в этом ответе: https://stackoverflow.com/a/55568877/5581893

В настоящее время нет способа загрузить модули в REPL Node.js (запустить 'node' с Bash heredoc), кроме таких встроенных модулей, как: fs, http и т. Д.

Таким образом, единственный обходной путь - это что-то вроде этого, например, модуль «момент»:

#bash script
echo '//begin
import moment from "moment";
...
//end' >test.mjs

node --experimental-modules test.mjs
...