Не удается загрузить локальные модули dir Node.js при использовании --input-type
В 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 ответ
Решение
Как уже упоминалось в этом ответе: /questions/48870996/zapustite-kod-es6-v-terminale-bash-s-pomoschyu-bash-heredoc/48871031#48871031
В настоящее время нет способа загрузить модули в REPL Node.js (запустить 'node' с Bash heredoc), кроме таких встроенных модулей, как: fs, http и т. Д.
Таким образом, единственный обходной путь - это что-то подобное, например, модуль "момент":
#bash script
echo '//begin
import moment from "moment";
...
//end' >test.mjs
node --experimental-modules test.mjs