复制 React 应用程序文件夹不起作用?
Duplicating a React app folder does not work?
(顺便说一下,这是在 Mac 上。似乎 Mac 上的 cp -r
是 "historical",应该用 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
,都成功了。但是我想如果你复制一个目录 "as is",然后使用它,npm start
应该启动服务器而不需要做任何事情?为什么会这样,除了 npm rebuild
之外还有什么方法可以解决这个问题?
TL;RD: 当您使用 cp -r
进行复制时,它并没有真正保留符号链接,它只是复制了文件内容。所以 npm start
在这种特殊情况下找不到必要的符号链接。一种可能的解决方案是在应对时使用 cp -a
,这样可以保留符号链接并避免此问题。
模式详细答案是here
:)
(顺便说一下,这是在 Mac 上。似乎 Mac 上的 cp -r
是 "historical",应该用 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
,都成功了。但是我想如果你复制一个目录 "as is",然后使用它,npm start
应该启动服务器而不需要做任何事情?为什么会这样,除了 npm rebuild
之外还有什么方法可以解决这个问题?
TL;RD: 当您使用 cp -r
进行复制时,它并没有真正保留符号链接,它只是复制了文件内容。所以 npm start
在这种特殊情况下找不到必要的符号链接。一种可能的解决方案是在应对时使用 cp -a
,这样可以保留符号链接并避免此问题。
模式详细答案是here
:)