**初始化项目** ```shell npm init -y ``` **安装webpack依赖(开发依赖)** ```shell npm add -D webpack webpack-cli ``` **打包项目** ```shell npx webpack ``` ### entery 入口文件 **入口文件是webpack的起点,通过入口文件来找到项目中的所有依赖模块。** ```shell module.exports = { entry: './src/index.js', //默认值 entry:"./hello/hello.js", // 修改默认值 entry: ["./src/a.js", "./src/b.js"], // 多个入口文件 entry: { hello: "./src/a.js", b: "./src/b.js" } // 多个入口文件,使用对象形式 } ``` ### output 出口文件 **出口文件是webpack打包后输出的文件。** ```shell module.exports = { output: { filename: "bundle.js", // 默认值 clean: true, // 清除打包文件所在目录 path: `${__dirname}/dist/dist` // 指定打包后的文件路径 } } ``` ### loader **需要安装css-loader、style-loader** ```shell module.exports = { module: { rules: [ { test: /\.css$/, use: [ 'style-loader', 'css-loader', // loader 执行顺序是从右到左 ] }, { test: /\.(png|jpg|jpeg|gif)$/, type: 'asset/resource' // 图片资源类型 } ] } } ``` ### babel **安装babel依赖(开发依赖)** ```shell npm add -D @babel/core @babel/preset-env babel-loader ``` **配置babel** ```shell module: { rules: [ { test: /\.m?js$/, exclude: /(node_modules | bower_components)/, use: { loader: 'babel-loader', options: { presets: ['@babel/preset-env'] } } } ] } ``` **plugin 插件** 例如:`html-webpack-plugin` ```shell npm add -D html-webpack-plugin ``` ```shell const HtmlWebpackPlugin = require('html-webpack-plugin') module: { plugins: [ new HtmlWebpackPlugin({ // template: './src/index.html' // filename: 'index.html', // template: './src/index.html' title: 'webpack-demo', }) ] } ``` **Webpack 开发服务器** ```shell npm add -D webpack-dev-server ``` ```shell module.exports = { devServer: { port: 7000, } } ```