Дублирование папки приложения React не работает? - PullRequest
1 голос
/ 15 февраля 2020

(Кстати, это на Ма c. Кажется, cp -r на Ма c является "историческим" и должно быть заменено на cp -R).

Я попробовал следующее:

mkdir TryContext
cd TryContext
npx create-react-app my-app
cd my-app

, а затем я создал работающее приложение, и npm start смог запустить сервер и запустить его.

Но затем, если я хочу создать версию 2 этого приложения и начать с клонирования папки:

cd ..
cp -r my-app my-app-02

, чтобы скопировать все в my-app-02 и cd в эту папку и выполнить npm start , это будет ошибка, сказав

> my-app@0.1.0 start /Users/username/code/TryContext/my-app-02
> react-scripts start

internal/modules/cjs/loader.js:800
    throw err;
    ^

Error: Cannot find module '../scripts/start'

Я пробовал разные способы, и пробовал npm rebuild, а затем npm start, и это сработало. Но я подумал, что если вы скопируете каталог «как есть», то, используя его, npm start должен запустить сервер без необходимости что-либо делать? Почему это так и каким образом, кроме npm rebuild, это можно исправить?

1 Ответ

1 голос
/ 15 февраля 2020

TL; RD: при копировании с использованием cp -r на самом деле он не сохраняет символические ссылки, а просто копирует содержимое файла. Поэтому npm start не может найти необходимую символическую ссылку в данном конкретном случае. Одним из возможных решений является использование cp -a при копировании, которое сохраняет символические ссылки и позволяет избежать этой проблемы.

Подробный ответ в режиме * здесь

:)

...