本指南介绍如何使用Webpack和pnpm设置一个基本的React项目
-
创建项目并初始化:
mkdir my-react-project cd my-react-project pnpm init
-
安装依赖:
pnpm add react react-dom pnpm add -D webpack webpack-cli webpack-dev-server babel-loader @babel/core @babel/preset-env @babel/preset-react html-webpack-plugin
-
创建Webpack配置文件
webpack.config.js
-
创建源文件:
src/index.html
src/index.js
src/App.js
-
在
package.json
中添加脚本:"scripts": { "start": "webpack serve --mode development", "build": "webpack --mode production" }
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env', '@babel/preset-react']
}
}
}
]
}
test: /\.js$/
: 匹配所有.js文件exclude: /node_modules/
: 排除node_modules目录use: { loader: 'babel-loader', ... }
: 使用babel-loader处理匹配的文件options
: 配置Babel预设,用于转换现代JavaScript和JSX
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html'
})
]
HtmlWebpackPlugin
的作用:
- webpack专注于js的解析,因此需要插件帮助生成HTML文件
-
Loaders: 让Webpack能够处理非JavaScript文件(如CSS、图片等)。
-
Plugins: 执行范围更广的任务,如打包优化、资源管理、环境变量注入等。
-
babel-loader: 使用Babel转换JavaScript文件,使其兼容更多浏览器。
-
HtmlWebpackPlugin: 简化HTML文件的创建,自动引入打包资源。
- 开发模式:
pnpm start
- 生产构建:
pnpm run build