node.js - create-react-app 不放弃 node_module 的内存
问题描述
由于我正在学习 React,因此我必须创建多个小项目。我正在使用create-react-app
这个。为此,我需要有效的 Internet 连接来下载依赖项(我已经为以前的项目下载了这些依赖项)。节点被安装,这导致:
- 延迟创建应用程序(即使我们在创建以前的应用程序时安装了节点。
- 为 node_modules 文件夹分配约 200 MB
是否可以重用为一个项目创建的依赖项,以便在另一个项目中使用?
我曾尝试将node_modules从早期项目复制到这个项目,但在执行时出现以下错误npm start
> products@0.1.0 start /Users/Deven/playground/React/test
> react-scripts start
internal/modules/cjs/loader.js:783
throw err;
^
Error: Cannot find module '../scripts/start'
本质上,文件的软链接被破坏了。复制 node_modules 也会占用空间,所以我想重用它
解决方案
我可以在主应用程序中使用 node_modules 并通过为 main 中的每个应用程序创建子目录来重用相同的解决方法。在示例中,我创建了名为 mouseover 的应用程序
- 使用命令创建一个主应用程序。
create-react-app
create-react-app main
- 它将有 node_modules、public 和 src 文件夹。和文件夹很小,我们可以为单个应用程序创建这些文件夹
public
。src
对于新应用,在 main 的 src 目录中为应用创建一个文件夹。
cd main/src/ mkdir mouseover
将 Sample
public
和复制src
到新文件夹。
cp -r ../../sample/src ./mouseover/
cp -r ../../sample/public ./mouseover/
- 修改 App.js 以
App
从新的应用程序文件夹中的 `src/App' 导入并返回它(要使用的 main 的 index.js)
sed -i '' 's/import App1 from .*/import App1 from \".\/mouseover\/src\/App\"/g' App.js
从新应用导入 App 并返回后,main 中的 App.js 将如下所示。
import React from "react"
import "./App.css"
import App1 from "./mousehover/src/App"
function App() {
return (
<App1 />
)
}
export default App
推荐阅读
- php - 合并两个 Json Object PHP(结构不同)
- excel - 来自多列和多行的参考值
- amazon-web-services - Kubernetes Bridge VSCODE 未连接到 AWS EKS 中的依赖项
- identityserver4 - 身份服务器 4 错误 400 并将我重定向到 signin-oidc
- c++ - 如何编写一个引用“char *”或“const char*”的 C++ 函数?
- python - 高效序列化多个需要进行 REST 调用的对象
- android-jetpack-compose - LazyColumn 中的列堆叠/折叠成一列
- reactjs - 映射放大 Storage.get()
- linux - 删除可变长度字符串的一部分并将其存储在新变量中
- html - 包装和高度增加输入 React CSS