返回

有了新选择,为什么还要选择create-react-app?从零搭建React应用

前端

抛开Create-React-App,开启React项目的定制之路

从零搭建React项目的逐步指南

引言:

React已成为构建现代Web应用程序的首选框架之一,提供灵活性和广泛的组件生态系统。然而,在创建新的React项目时,开发人员经常依赖于Create-React-App (CRA) 等预配置工具。虽然CRA对于快速入门非常方便,但它可能会限制自定义和理解项目结构。

本文将指导你从零开始创建React项目 ,让你对项目拥有完全的控制,同时提升对React内部机制的理解。

步骤 1:安装 Yarn 2 (Berry)

Yarn 2是Facebook开发的包管理器,比NPM速度更快,功能更丰富。使用以下命令安装Yarn 2:

npm install --global yarn

步骤 2:创建项目目录

创建一个新的项目目录,例如“my-react-app”:

mkdir my-react-app
cd my-react-app

步骤 3:初始化 Yarn 项目

初始化Yarn项目以创建package.json文件:

yarn init -y

步骤 4:安装 Webpack

Webpack是一个模块打包工具,可以将你的代码打包成可供浏览器执行的单个文件。安装Webpack和它的命令行工具:

yarn add webpack webpack-cli -D

步骤 5:安装 TypeScript

TypeScript是JavaScript的超集,提供了类型检查。安装TypeScript:

yarn add typescript -D

步骤 6:创建 TypeScript 配置文件

创建一个tsconfig.json文件,并添加以下配置:

{
  "compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "jsx": "react",
    "moduleResolution": "node",
    "strict": true,
    "esModuleInterop": true
  }
}

步骤 7:安装 React 和 React DOM

安装React和React DOM库:

yarn add react react-dom -D

步骤 8:创建入口文件

创建一个名为“src/index.tsx”的入口文件,并添加以下代码:

import React from 'react';
import ReactDOM from 'react-dom';

const App = () => {
  return <h1>Hello, world!</h1>;
};

ReactDOM.render(<App />, document.getElementById('root'));

步骤 9:创建 Webpack 配置文件

创建一个名为“webpack.config.js”的Webpack配置文件,并添加以下配置:

const path = require('path');

module.exports = {
  entry: './src/index.tsx',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  resolve: {
    extensions: ['.tsx', '.ts', '.js'],
  },
  module: {
    rules: [
      {
        test: /\.tsx?$/,
        use: 'ts-loader',
        exclude: /node_modules/,
      },
    ],
  },
};

步骤 10:运行 Webpack

运行Webpack以打包代码:

yarn webpack

步骤 11:创建 HTML 文件

创建一个名为“public/index.html”的HTML文件,并添加以下代码:

<!DOCTYPE html>
<html>
  <head>
    
  </head>
  <body>
    <div id="root"></div>
    <script src="./bundle.js"></script>
  </body>
</html>

步骤 12:启动本地服务器

运行以下命令启动本地服务器:

yarn serve

现在你可以通过访问http://localhost:3000在浏览器中查看你的React应用程序。

为什么选择从零开始构建React项目?

虽然CRA对于快速入门很有用,但从零开始构建项目提供了以下优势:

  • 完全自定义: 你可以完全控制项目的配置和结构,满足你的特定需求。
  • 更好的理解: 你可以深入了解Webpack和React的内部机制,从而提高你的整体Web开发技能。
  • 更轻松的升级: 当你需要升级依赖项时,手动升级流程让你可以更好地控制和灵活性。

常见问题解答

  • 为什么使用Yarn 2而不是NPM?
    Yarn 2速度更快,并提供诸如并行安装和缓存等高级功能。

  • 为什么使用TypeScript?
    TypeScript提供了类型检查,可以提高代码质量并减少错误。

  • 如何调试React应用程序?
    可以使用React Developer Tools等工具在浏览器中进行调试。

  • 如何部署React应用程序?
    可以使用Netlify、Vercel或Heroku等服务将你的应用程序部署到生产环境。

  • 如何保持我的项目更新?
    定期更新依赖项,并留意React生态系统中的最新趋势和最佳实践。

结论:

通过从零开始构建React项目,你可以获得对项目配置和结构的完全控制,同时加深对Webpack和React的理解。虽然这需要额外的努力,但它为定制、灵活性、代码质量和长期维护奠定了坚实的基础。