如何在没有 npm install 的情况下从 github 运行 react 项目

Posted

技术标签:

【中文标题】如何在没有 npm install 的情况下从 github 运行 react 项目【英文标题】:How to run react project from github without npm install 【发布时间】:2020-12-19 07:56:38 【问题描述】:

我是全新的反应,所以我想我会通过修补来自 github 的其他人的代码来学习,但问题是,每次我从 github 克隆一个 repo 到 vs 代码时,它只是带有裸代码而不是节点模块。这是否意味着我每次尝试从 github 运行 react 项目时都必须执行 npm install ?另外,假设我自己做了一个 react 项目并将其放在 github 上。我假设我也会在没有节点模块的情况下放置它。那么这是否意味着每个想要运行我的项目的人也必须这样做?有没有什么高效快捷的方式来运行项目?

【问题讨论】:

【参考方案1】:

“我是全新的反应”

首先,你也可以在没有node environment 的情况下学习react(通过简单的例子更容易学习基础知识。你在react docs 下找到无穷无尽的codepens)。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />

    <title>Hello React!</title>

    <script src="https://unpkg.com/react@16/umd/react.development.js"></script>
    <script src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
    <script src="https://unpkg.com/babel-standalone@6.26.0/babel.js"></script>
  </head>

  <body>
    <div id="root"></div>

    <script type="text/babel">
      class App extends React.Component 
        render() 
          return <h1>Hello world!</h1>
        
      

      ReactDOM.render(<App />, document.getElementById('root'))
    </script>
  </body>
</html>

.gitignore

root 文件夹下添加.gitignore 文件并在node modules 中键入(Git 应忽略的未跟踪文件)。

** 这个想法可以防止你的 repo 存储/下载无休止的额外文件。

来自create-react-app repo 的示例:

Git - gitignore 文档:** https://git-scm.com/docs/gitignore 相关问题:Git - Ignore node_modules folder everywhere

安装 package.json 依赖项

默认情况下,npm install 将安装列出的所有模块 package.json 中的依赖项。 https://docs.npmjs.com/cli/install

下载/克隆一个 repo 后,您应该运行 npm install(即 package.json 所在的位置)来安装您的 package.json 依赖项(此命令将依赖项添加到您的 local node_modules 文件夹中)。

反应应用

react-app repo 的工作方式略有不同 - 它通过一个命令设置您的整个开发环境(包括 NPM 依赖项)。

clone react-app 相关 *** 问: Starting React App from pulled github project

类似:nextjs

“创建 React 应用”网站/文档: https://create-react-app.dev/

学习曲线

我的建议: 遵循一些基本的node/npm 课程(Youtube/Google/Medium/Linkedin-learning/udemy/treehouse/Books 等)。无法通过 *** 回答真正涵盖您的 Q。

【讨论】:

我明白了。但是有什么方法可以从 github 运行 react 项目来看看它是什么样子的?这意味着我不会添加自己的任何更改 - 我只想看看项目的运行情况 Github 用于版本控制,您需要将文件托管在某处(本地/远程)并为此运行 node.js 服务器。无论如何clone/-或-下载ZIP并在根文件夹下运行npm install需要3-4分钟-或-尝试一些云工具,如gitpod.io(同样在云工具下你需要运行npm install)。 【参考方案2】:

正确的方法是将没有节点模块的代码推送到 GitHub。所有具有相应版本号的包都保存在一个文件中(通常称为:package.json),该文件也被推送到 GitHub。当有人下载​​代码时,他可以使用包管理器(npm、yarn 或任何其他)和相应的命令(npm install、yarn install……)安装文件中定义的所有包。安装软件包后,您可以根据需要多次运行代码。您只需在将新软件包添加到代码(新版本)时更新软件包。该方法属于最佳实践。像 npm 这样的包管理器被用于许多不同的软件项目,而不仅仅是 React 项目。

您也可以将您的节点模块推送到 GitHub,但这会占用大量空间,下载/上传可能会很痛苦,不推荐。但这是可能的。

【讨论】:

【参考方案3】:

是的,您需要运行npm install(或yarn(或其他一些备用节点包管理器)),以便获得运行应用程序所需的包。

另一种方法是只运行应用程序的构建版本(例如see here for Create React App)。

【讨论】:

您能否指定如何运行构建版本。您提供的链接中的内容让我有点困惑

以上是关于如何在没有 npm install 的情况下从 github 运行 react 项目的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用 pip install 的情况下从 tar.gz 文件安装 Python 包

npm install -g 和npm install --save-dev的关系

npm install -g @vue/cli VUE CLI安装错误

应该打字吗?如果不是,如何在不破坏用户的情况下在 npm install 上触发类型安装?

在没有 npm install 或 webpack 的情况下导入 vuejs 组件

错误:npm install -g @angular/cli