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中使用的箭头函数未被转化

相关推荐
万少13 小时前
HarmonyOS官方模板集成创新活动-流蓝卡片
前端·harmonyos
-To be number.wan16 小时前
C++ 赋值运算符重载:深拷贝 vs 浅拷贝的生死线!
前端·c++
噢,我明白了16 小时前
JavaScript 中处理时间格式的核心方式
前端·javascript
纸上的彩虹17 小时前
半年一百个页面,重构系统也重构了我对前端工作的理解
前端·程序员·架构
be or not to be18 小时前
深入理解 CSS 浮动布局(float)
前端·css
LYFlied18 小时前
【每日算法】LeetCode 1143. 最长公共子序列
前端·算法·leetcode·职场和发展·动态规划
老华带你飞18 小时前
农产品销售管理|基于java + vue农产品销售管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
小徐_233318 小时前
2025 前端开源三年,npm 发包卡我半天
前端·npm·github
GIS之路19 小时前
GIS 数据转换:使用 GDAL 将 Shp 转换为 GeoJSON 数据
前端
JIngJaneIL19 小时前
基于springboot + vue房屋租赁管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端