返回
从零配置:构建专属的webpack5 + react开发环境
前端
2024-02-03 12:31:38
前言
在开发项目时,我们习惯于使用脚手架快速创建项目,但你是否想过脚手架背后做了什么?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的工作原理,并为你的项目配置提供参考。