webpack中常用loader

1.安装 html-webpack-plugin -D

2.在配置文件 webpack.config.js 中引入


  const htmlWebpackPlugin=require("html-webpack-plugin");

3.在 plugins 中添加


    plugins:[

    //使用html插件

    new htmlWebpackPlugin({

        template:path.join(__dirname,'./src/index.html'),

        filename:'index.html' //指定生成的文件名

    })

    ]

1.下载

npm install style-loader css-loader less-loader -D

2.在 js 文件导入

import "../css/index.css"
import "../css/index.less"

3.在 webpack.config.js 中添加 moudle 对象


      module:{

        rules:[

        {test:/\.css$/,use:['style-loader','css-loader']},
        {test:/\.css$/,use:['style-loader','css-loader','less-loader']}

        ]

    }

1.下载

npm install url-loader file-loader -D

2.配置


  module:{

    rules:[
         { test: /\.(jpg|png|gif|bmp|jpeg)$/, 
           use: 'url-loader?limit=57118&name=[hash:8]-[name].[ext]' },
           //表示低于57118字节,大于的图片会以 base64 编码
           //hash的32个长度中取8个字符串
           //name=[name].[ext] 的作用:不修改文件的名称
           ]

    }

### Webpack 常用 Loader 和 Plugin 介绍 #### Loader 的作用与常见类型 Loader 是文件加载器,在 Webpack 构建流程中负责转换模块的源代码。每当遇到 `import` 或者通过 `require()` 加载文件时,Webpack 就会调用相应的 loader 来处理该类型的文件[^2]。 对于不同类型的资源文件,有多种常用loader: - **Babel Loader**: 使用 Babel 编译 JavaScript 文件,支持 ES6+ 新特性转码成兼容性更好的旧版本语法。 - **TS Loader / TSC Loader**: 支持 TypeScript 文件编译,允许开发者编写带有静态类型检查的语言扩展版 JS 代码[^3]. - **CSS/SASS/LESS Loaders**: 处理样式表文件,可以将 SCSS/Less 预处理器编写的 CSS 进行解析并应用到项目里。 - **File URL Loader & File System Loader**: 可以把图片、字体等二进制大对象(blobs)作为模块引入,并返回其相对路径或 Data URI 形式的字符串表示形式。 - **Markdown Loader**: 解析 Markdown 文档内容为 HTML 片段以便于嵌入网页展示。 ```javascript // webpack.config.js 示例配置片段 module.exports = { module: { rules: [ { test: /\.js$/, use: 'babel-loader', exclude: /node_modules/ }, { test: /\.tsx?$/, use: ['ts-loader'], exclude: /node_modules/ } ] } }; ``` #### 插件的作用及其应用场景 Plugins 提供更广泛的能力来增强构建过程中的功能,比如优化输出文件大小、管理资产、注入环境变量等等。它们并不局限于特定格式的数据流操作而是可以在整个打包周期内执行任意逻辑。 以下是几个重要的 plugins: - **HtmlWebpackPlugin**: 自动生成包含所有依赖项链接标签 (`<script>`, `<link>` 等) 的 HTML 页面模板,简化了多入口点项目的维护工作量[^1]。 - **CleanWebpackPlugin**: 清除上次构建产生的无用产物目录结构,保持目标文件夹整洁有序。 - **MiniCssExtractPlugin**: 把 CSS 单独提取出来形成独立文件而不是混杂在 js bundle 中,有助于提高页面首次渲染速度以及缓存命中率。 - **DefinePlugin**: 定义全局常量用于替换代码里的占位符表达式,方便切换开发模式和生产发布状态下的行为差异设置。 ```javascript const HtmlWebpackPlugin = require('html-webpack-plugin'); const MiniCssExtractPlugin = require("mini-css-extract-plugin"); module.exports = { plugins:[ new HtmlWebpackPlugin({ template:'./src/index.html' }), new MiniCssExtractPlugin() ], } ```
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值