如何在react框架中引入webpack
在 React 项目中引入 Webpack
React 项目通常使用 Create React App (CRA) 初始化,但 CRA 默认隐藏了 Webpack 配置。如果需要自定义 Webpack,可以手动配置或通过工具修改现有配置。
方法一:手动配置 Webpack(适用于从头搭建项目)
安装必要的依赖包:
npm install webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react html-webpack-plugin css-loader style-loader --save-dev
创建 webpack.config.js 文件:
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: './src/index.js',
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env', '@babel/preset-react'],
},
},
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
],
},
plugins: [
new HtmlWebpackPlugin({
template: './public/index.html',
}),
],
devServer: {
static: path.join(__dirname, 'dist'),
port: 3000,
hot: true,
},
};
在 package.json 中添加脚本:
"scripts": {
"start": "webpack serve --mode development",
"build": "webpack --mode production"
}
方法二:在现有 CRA 项目中暴露 Webpack 配置
使用 react-scripts 的 eject 命令暴露配置:

npm run eject
执行后会生成 config 目录,包含完整的 Webpack 配置。注意此操作不可逆。
方法三:使用第三方工具覆盖配置(推荐)
安装 craco(Create React App Configuration Override):
npm install @craco/craco --save-dev
创建 craco.config.js 文件:

module.exports = {
webpack: {
configure: (webpackConfig) => {
// 自定义修改配置
webpackConfig.module.rules.push({
test: /\.custom$/,
use: ['custom-loader'],
});
return webpackConfig;
},
},
};
修改 package.json 中的脚本:
"scripts": {
"start": "craco start",
"build": "craco build",
"test": "craco test"
}
关键配置说明
Babel 配置需包含 React 支持:
{
"presets": ["@babel/preset-env", "@babel/preset-react"]
}
处理静态资源需添加相应 loader:
{
test: /\.(png|svg|jpg|gif)$/,
use: ['file-loader'],
}
生产环境优化可启用代码分割:
optimization: {
splitChunks: {
chunks: 'all',
},
}






