create-react-app而不会为node_module放弃内存

时间:2019-09-29 15:39:33

标签: node.js reactjs

我已经根据Link

设置了使用NodeJS的反应

由于我正在学习React,所以我必须创建多个小项目。我为此使用create-react-app。为此,我需要有效的Internet连接才能下载依赖项(我已经为先前的项目下载了这些依赖项)。节点已安装,这导致:

  1. 延迟创建应用程序(即使在创建以前的应用程序时安装了节点也是如此。
  2. 为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会占用空间,因此我想重用它

1 个答案:

答案 0 :(得分:0)

我可以在主应用程序中使用node_modules并通过在主应用程序中为每个应用程序创建子目录来重用该方法,从而获得解决方法。在示例中,我创建了名为mouseover的应用程序

  1. 使用create-react-app命令创建一个应用。
  

create-react-app main

  1. 它将具有node_modules,public和src文件夹。 publicsrc文件夹很小,我们可以为单个应用创建它们。
  2. 对于新应用,请在main的src目录中为该应用创建一个文件夹。

      

    cd main / src /   mkdir鼠标悬停

  3. 将示例publicsrc复制到新文件夹。

  

cp -r ../../sample/src ./mouseover/      cp -r ../../sample/public ./mouseover/

  1. 修改App.js以从新应用文件夹中的“ src / App”中导入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