使用 Webpack 搭建一个简单的 React+Redux 项目

阅读时长 11 分钟读完

前言

在前端开发中,使用 Webpack 已经成为了不可避免的选择。Webpack 是一个模块化打包工具,它可以将项目中所有的代码和资源打包成一个或多个 bundle,这样可以减少请求次数和代码的大小,提高页面加载速度。

React 和 Redux 是当前最流行的前端框架之一,它们的结合可以构建一个复杂的单页面应用程序。在本文中,我们将介绍如何使用 Webpack 搭建一个简单的 React+Redux 项目。

项目结构

项目结构如下:

-- -------------------- ---- -------
--- ----
-   --- ----------
-   --- ---------------
-   --- ----------------
--- ---
-   --- -------
-   -   --- --------
-   --- ----------
-   -   --- -------
-   -   --- -----------
-   -   --- ----------
-   -   --- ----------
-   --- ---------
-   -   --- --------------
-   --- --------
-   -   --- --------
-   --- ---------
-   --- --------
--- ------------
--- -----------------

其中,src 目录是我们工作的主要目录,dist 目录是 Webpack 打包后输出的目录。package.json 是项目的配置文件,webpack.config.js 是 Webpack 的配置文件。

搭建环境

首先,我们需要搭建开发环境。在本文中,我们需要安装以下工具:

  • Node.js
  • NPM 或 Yarn

安装完成后,我们可以通过以下命令在命令行中查看版本信息:

在搭建完成环境后,我们可以开始安装项目依赖。

配置 Webpack

我们现在可以开始配置 Webpack 了。

首先,我们需要在项目的根目录下创建 webpack.config.js 文件,并填写以下内容:

-- -------------------- ---- -------
----- ---- - ----------------
----- ----------------- - -------------------------------

-------------- - -
  ----- --------------
  ------ ------------------
  ------- -
    ----- ----------------------- --------
    --------- ------------------------
  --
  ------- -
    ------ -
      -
        ----- ----------
        -------- ---------------
        ---- -
          ------- ---------------
          -------- -
            -------- -
              --------------------- - -------- ----- ---
              ----------------------
            --
            -------- -
              ------------------------------------------
              ----------------------------------
            --
          --
        --
      --
      -
        ----- ----------
        ---- ---------------- --------------
      --
    --
  --
  -------- -
    --- -------------------
      --------- -------------------
      --------- ---------------
    ---
  --
  ---------- -
    ------------ -------------------- --------
    --------- -----
    ----- -----
    ----- -----
  --
--

我们在 webpack.config.js 文件中定义了入口文件和出口文件,以及使用 babel 和 css-loader 来处理 jsx 和 css 文件。

我们还添加了一个 HtmlWebpackPlugin 插件,用于将打包后的文件自动生成到 dist 目录下的 index.html 中。DevServer 也已经被配置好了,用于在本地运行打包后的应用。

Babel 配置

Babel 是一个 JavaScript 编译器,它可以将 ECMAScript 6+ 代码转换成向下兼容的版本。

我们需要在项目根目录下创建 .babelrc 文件,并填写以下内容:

-- -------------------- ---- -------
-
  ---------- -
    --------------------- - ---------- ----- ---
    ---------------------
  --
  ---------- -
    ------------------------------------------
    ---------------------------------
  -
-

这里我们使用了 @babel/preset-env,它可以将 ECMAScript 6+ 代码转换成向下兼容的版本,并且可以根据浏览器的版本、环境变量和目标运行时环境等信息启用相关的插件和 polyfill。

编写代码

现在我们已经完成了 Webpack 的配置,下面我们就可以开始编写我们的代码了。

创建组件

我们需要在 src/components 目录下创建以下组件:

-- -------------------- ---- -------
-- ----------------------
------ ----- ---- --------
------ ------ ---- -----------
------ ------- ---- ------------
------ ------ ---- -----------

----- --- - -- -- -
  ------ -
    -----
      ------- --
      -------- --
      ------- --
    ------
  --
--

------ ------- ----
-- -------------------- ---- -------
-- --------------------------
------ ----- ---- --------
------ - ------- - ---- --------------
------ - ------------------ - ---- --------
------ - -- ------- ---- -------------

----- ------- - -- ------ ------- -- -- -
  ------ -
    -----
      ----------------
      --------- -----------
      ------- ----------- -- -------------------------------
      ------- ----------- -- -------------------------------
    ------
  --
--

----- --------------- - ------- -- -- ------ ----------- ---
----- ------------------ - ---------- -- -- -------- --------------------------- --------- ---

------ ------- ------------------------ -----------------------------

创建 actions 和 reducer

我们需要在 src/actions 目录下创建以下文件:

我们需要在 src/constants 目录下创建以下文件:

我们需要在 src/reducers 目录下创建以下文件:

-- -------------------- ---- -------
-- ---------------------
------ - -- ----- ---- ---------------------------

----- ------------ - -
  ------ --
--

------ ----- -------------- - ------ - ------------- ------- -- -
  ------ ------------- -
    ---- ----------------
      ------ - ------ ----------- - - --
    ---- ----------------
      ------ - ------ ----------- - - --
    --------
      ------ ------
  -
--

创建 store 和入口文件

我们需要在 src 目录下创建以下文件:

-- -------------------- ---- -------
-- -------------
------ ----- ---- --------
------ - -------- - ---- --------------
------ ----- ---- ----------
------ --- ---- -------------------

----- ------------- - -
  --------- --------------
    ---- --
  -----------
--

------ ------- --------------

我们还需要在 src 目录下创建一个 index.html 文件,作为应用程序的入口文件。这里我是引用了 CDN 上的 react 和 react-dom 的资源。

-- -------------------- ---- -------
--------- -----
------
  ------
    ----- ----------------
    -------------- ----------- ---------------
  -------
  ------
    ---- ----------------
    ------- ---------------------------------------------------------------------------------
    ------- -----------------------------------------------------------------------------------------
    ------- ---------------------------------
    ------- ----------------------------------
  -------
-------

完整代码见仓库:https://github.com/LiXiangUCAS/webpack-react-redux-example

运行项目

完成了代码编写后,我们就可以在本地运行项目了。

运行后我们可以在浏览器中输入地址 http://localhost:9000 查看效果。

总结

在本文中,我们学习了如何使用 Webpack 搭建一个简单的 React+Redux 项目。我们了解了如何配置 Webpack,创建组件、actions、reducer、store 和入口文件。最后,我们成功地运行了项目并查看了效果。

使用 Webpack 可以将我们的项目代码打包成一份或多份 JavaScript 文件,通过实现代码的模块化来加速应用程序的加载速度,提高用户体验。使用 React 和 Redux 可以让我们构建复杂的单页面应用程序,上述两种技术的结合使用将会在前端开发中发挥更大的作用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64fc0267f6b2d6eab32009fc

纠错
反馈