Rule.resourceQuery(通过路径参数指定loader匹配规则)

1. 说明

在 webpack 4 中,Rule.resourceQuery 是一个用于根据文件路径中的 查询参数(query string) 来匹配资源的配置项。它允许你针对带有特定查询条件的文件(如 file.css?inline 或 image.png?raw)应用不同的加载规则

2.示例

  • 场景 1:处理带有 ?inline 参数的 js文件
    目标:将 aa.js?inline 里使用的箭头函数,通过babel-loader转为函数声明方式

  • 配置:

  • webpack.config.js

    const path = require('path');
    module.exports = {
    entry: "./src/index.js",
    output: {
    path: path.resolve(__dirname, 'dist1'),
    publicPath: "/dist1/"
    },
    module: {
    rules: [
    {
    resourceQuery: /inline/,
    use: ['babel-loader'], // 应用 Babel 转译
    }
    ],
    },
    optimization: {
    minimize: false
    }
    }

  • index.js

    import a from './a.js'
    import aa from './js/aa.js?inline'

    a()
    aa()

  • js/aa.js

    const aa = () => {
    console.log('this is an anarow faunction')
    }

    export default aa

  • a.js

    const a = () => {
    console.log('this is a')
    }

    export default a

3. 结果验证




aa.js中的箭头函数打包后被转为了函数声明方式,a.js中使用的箭头函数未被转化

相关推荐
jason_yang3 分钟前
watchEffect的flush属性你都用过不?
前端·vue.js
云深不知处_4 分钟前
RE0_OC_1
前端·ios
uio7 分钟前
Vue 中 key 属性的深入解析:改变 key 导致组件销毁与重建
前端·vue.js
小浪努力学前端29 分钟前
React + ECharts:给tooltip里的按钮绑定事件,我踩过的那些坑
前端·react.js·echarts
不像程序员的程序媛40 分钟前
es按时间 小时聚合
java·前端·elasticsearch
bobz9651 小时前
为什么 不能在浏览器里直接用 Node.js 专用模块?
前端
断竿散人1 小时前
📏CSS尺寸单位终极手册:从px到fr的完全征服指南
前端·css·响应式设计
Rrvive1 小时前
Python学习笔记
前端
Aisanyi1 小时前
【鸿蒙开发】适配深浅色模式
前端·harmonyos
onejason1 小时前
如何利用 PHP 爬虫按关键字搜索 Amazon 商品
前端·后端·php