Я только что установил пакет create-Reaction-app во всем мире, и он работал просто отлично.
Я работаю в среде Windows 10 внутри подсистемы Windows для Linux, поэтому все кодирование выполняется в моем Ubuntu Linux.
После создания простого приложения я переключился в папку приложения и набрал
npm start
и я получил эту ошибку в моем терминале
> helloworld@0.1.0 start <app path>
> react-scripts start
module.js:549
throw err;
^
Error: Cannot find module '../scripts/start'
at Function.Module._resolveFilename (module.js:547:15)
at Function.resolve (internal/module.js:18:19)
После некоторых исследований я обнаружил, что проблема здесь в двоичном файле activ-scripts, экспортированном в папку ./node-modules/.bin внутри папки моего приложения. При сборке командной строки для запуска узла activ-scripts пытается определить путь модуля следующим образом:
.concat(require.resolve('../scripts/' + script))
и узлу не удалось разрешить указанный путь
Я решил это просто, добавив путь к сценарию с именем модуля:
.concat(require.resolve('react-scripts/scripts/' + script))
Похоже, что, находясь в папке ./bin, файл сценария "react-scripts.js" находится вне какого-либо модуля узла, поэтому механизм узла не может следовать своему собственному алгоритму:
require(X) from module at path Y
...
3. If X begins with './' or '/' or '../'
a. LOAD_AS_FILE(Y + X)
LOAD_AS_FILE(X)
1. If X is a file, load X as JavaScript text. STOP
Итак, вопрос в том, что-то не так с предопределенными сценариями приложения create-реагировать на приложение или проблема в моей среде программирования, которая не подходит для пакета create-реагировать-приложение?