# webpack入门学习 **Repository Path**: eatball/introduction-to-webpack ## Basic Information - **Project Name**: webpack入门学习 - **Description**: webpack入门学习(当前最新的5版本) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2021-11-29 - **Last Updated**: 2021-11-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # webpack5 学习 参考视频: > https://www.bilibili.com/video/BV1964y1k7Hm ## 安装`webpack-dev-server` 热更新 ``` npm i -D webpack-dev-server ``` 再通过`Cli`的方式调用: ``` webpack serve ``` 为了简便,可以在`package.json` ``` "scripts": { "serve": "webpack serve --open" }, ``` 这样就会在本地`127.0.0.1:8080` 启动浏览器打开预览界面,提供的实时显示效果,但是**实际没有生成打包文件**,如果想修改本地的端口或者其他信息可以配置`webpack.config.js`: ``` devServer: { host: '127.0.0.1', // 配置启动ip地址 port: 8080, // 配置端口 open: true // 配置是否自动打开浏览器 } ``` 也可以加一个打包的“快捷键”(npm run build): ``` "scripts": { "serve":"webpack serve --open", + "build":"npx webpack" }, ``` 之后,只需要`npm run serve`,本地服务器就会自动热更新 ## CSS 相关处理 ### CSS 背景图 `webpack4` 及其以前版本使用的是`file-loader`和`url-loader` 1. 打包 CSS 内的图片(图片和 CSS 文件在同一目录层级) 如果想使用`url-loader`打包图片,则需要另外再添加两个配置: ``` { test: /\.(png|jpg|gif)$/i, use: [ { loader: 'url-loader', options: { name: "[name].[ext]", limit: 8192, esModule: false, //webpack5不推荐使用url-loader,如果使用,这里需要添加这个配置,使用commonjs }, }, ], type: 'javascript/auto' //webpack5不推荐使用url-loader,如果使用,这里需要添加这个配置 } ``` > 当在 webpack 5 中使用旧的 assets loader(如 file-loader/url-loader/raw-loader 等)和 asset 模块时,你可能想停止当前 asset 模块的处理,并再次启动处理,这可能会导致 asset 重复,你可以通过将 asset 模块的类型设置为 'javascript/auto' 来解决。 > 参考:https://blog.csdn.net/w184167377/article/details/118930758 ### CSS 抽取为单独文件 使用插件`MiniCssExtractPlugin`,而不是添加到`