React入门学习笔记2-创建新的React应用

403 阅读3分钟

使用集成的工具链,以实现最佳的用户和开发人员体验。它们有助于完成如下任务:

  • 扩展文件和组件的规模
  • 使用来自npm的第三方库
  • 尽早发现常见错误
  • 在开发中实时编辑CSS和JS
  • 优化生产输出

工具链

React 团队主要推荐这些解决方案:

  • 如果你是在学习 React 或创建一个新的单页应用,请使用 Create React App。
  • 如果你是在用 Node.js 构建服务端渲染的网站,试试 Next.js。
  • 如果你是在构建面向内容的静态网站,试试 Gatsby。
  • 如果你是在打造组件库或将 React 集成到现有代码仓库,尝试更灵活的工具链。

Create React App

是一个用于学习 React 的舒适环境,也是用 React 创建新的单页应用的最佳方式。

它会配置你的开发环境,以便使你能够使用最新的 JavaScript 特性,提供良好的开发体验,并为生产环境优化你的应用程序。你需要在你的机器上安装 Node >= 8.10 和 npm >= 5.6。要创建项目,请执行:

npx create-react-app 项目名
cd 项目名
npm start

Create React App不会处理后端逻辑或操纵数据库,他只是创建一个前端构建流水线,可以使用它来配合任何你想使用的后端。它在内部使用Babel和webpack。

当你准备好部署到生产环境时,执行npm run build会在build文件夹内生成你应用的优化版本。

Next.js

Next.js是一个流行的、轻量级的框架,用于配合React打造静态化和服务端渲染应用。它包括开箱即用的样式和路由方案,并假定你使用Node.js作为服务器环境。

Gatsby

Gatsby是用React创建静态网站的最佳方式。它让你能使用React组件,但输出预渲染的HTML和CSS以保证最快的加载速度。

更灵活的工具链

以下工具链为 React 提供更多更具灵活性的方案。推荐给更有经验的使用者:

Neutrino 把 webpack 的强大功能和简单预设结合在一起。并且包括了 React 应用和 React 组件的预设。

Parcel 是一个快速的、零配置的网页应用打包器,并且可以搭配 React 一起工作。

Razzle 是一个无需配置的服务端渲染框架,但它提供了比 Next.js 更多的灵活性。

从头开始打造工具链

一组JavaScript构建工具链通常有这些组成:

  • 一个package管理器,比如Yarn或npm。

它能让你充分利用庞大的第三方 package 的生态系统,并且轻松地安装或更新它们。

  • 一个打包器,比如webpack或Parcel

它能让你编写模块化代码,并将它们组合在一起成为小的 package,以优化加载时间。

  • 一个编译器,比如Babel

它能让你编写的新版本 JavaScript 代码,在旧版浏览器中依然能够工作。