ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## webpack loader处理 loader : 加载程序 loader 用于对模块的源代码进行转换。loader 可以使你在 import 或"加载"模块时预处理文件。因此,loader 类似于其他构建工具中“任务(task)”,并提供了处理前端构建步骤的强大方法。loader 可以将文件从不同的语言(如 TypeScript)转换为 JavaScript,或将内联图像转换为 data URL。loader 甚至允许你直接在 JavaScript 模块中 import CSS文件! ### 安装 ```shell cnpm install css-loader style-loader -S ``` ### 配置 当新建文件 `*.css` 文件时进行css文件处理 webpack.config.js ```js module:{ rules:[ { test:/\.css$/, use:['style-loader','css-loader'] } ] } ``` 在其中需要注意的就是 `style-loader` 在 `css-loader` 之前。 当 css 有 `background-image: url('./1.jpg')` 有图片插入进来时,需要使用 `file-loader` 来进行处理 ```js module:{ rules:[ { test:/\.css$/, use:['style-loader','css-loader'] }, { test:/\.(jpg|png|jpeg)$/, use:['file-loader'] } ] } ``` 设置图片保存地方及是否使用base64进行处理 ```js { test:/\.(jpg|png|jpeg)$/, use:'file-loader?limit=1024&name=./images/[hash:8].[name].[ext]' } ``` ### HTML的img标记处理 #### 安装 ```shell cnpm install html-withimg-loader -S ``` #### 配置 ```shell { test:/\.html$/, use:["html-withimg-loader"] } ``` ### CSS 打包分离 #### 安装 ```shell cnpm install extract-text-webpack-plugin@next -S ``` #### 配置 ```js const ExtractTextPlugin=require('extract-text-webpack-plugin'); //插件 new ExtractTextPlugin('./css/[name].css') // rules { test:/\.css$/, use:ExtractTextPlugin.extract({ fallback:"style-loader", use:[{ loader:"css-loader", options:{ // 压缩 minimize:true } }], // 添加公共路径 publicPath:"../" }) } ```