返回

从零配置:构建专属的webpack5 + react开发环境

前端

前言
在开发项目时,我们习惯于使用脚手架快速创建项目,但你是否想过脚手架背后做了什么?webpack又是如何工作的?为了探究这些问题,本文将带领你从零配置一个webpack5+react开发环境,让你对项目配置有更深入的了解。

配置webpack

1. 项目初始化

首先,使用npm或yarn创建项目目录,并安装webpack5:

npm init -y
npm install webpack webpack-cli -D

2. 配置webpack

在项目根目录创建webpack.config.js文件,编写webpack配置:

const path = require('path');

module.exports = {
  mode: 'development',
  entry: './src/index.js',
  output: {
    filename: 'bundle.js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env', '@babel/preset-react'],
          },
        },
      },
    ],
  },
  devServer: {
    static: path.join(__dirname, 'dist'),
    compress: true,
    port: 9000,
  },
};

3. 编写代码

在src目录下创建index.js文件,编写react代码:

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

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

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

4. 运行webpack

在命令行中运行以下命令:

npm run dev

探索webpack配置

1. mode

mode属性用于指定webpack的运行模式,有'development'和'production'两种,默认值为'production'。在开发模式下,webpack会对代码进行更详细的错误提示和source map生成。

2. entry

entry属性指定了应用程序的入口文件,webpack从这里开始编译应用程序。

3. output

output属性指定了编译后的代码的输出路径和文件名。

4. module

module属性用于指定webpack如何处理各种类型的文件,例如js、css、图片等。

5. devServer

devServer属性用于配置开发服务器,允许你在本地运行和调试应用程序。

结语

通过本教程,你已经成功搭建了一个webpack5+react开发环境,并对webpack的配置有了一定的了解。希望这些知识能够帮助你更深入地理解webpack的工作原理,并为你的项目配置提供参考。