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

相关推荐
繁依Fanyi15 分钟前
用 CodeBuddy 实现「IdeaSpark 每日灵感卡」:一场 UI 与灵感的极简之旅
开发语言·前端·游戏·ui·编辑器·codebuddy首席试玩官
来自星星的坤2 小时前
【Vue 3 + Vue Router 4】如何正确重置路由实例(resetRouter)——避免“VueRouter is not defined”错误
前端·javascript·vue.js
香蕉可乐荷包蛋6 小时前
浅入ES5、ES6(ES2015)、ES2023(ES14)版本对比,及使用建议---ES6就够用(个人觉得)
前端·javascript·es6
未来之窗软件服务7 小时前
资源管理器必要性———仙盟创梦IDE
前端·javascript·ide·仙盟创梦ide
liuyang___8 小时前
第一次经历项目上线
前端·typescript
西哥写代码8 小时前
基于cornerstone3D的dicom影像浏览器 第十八章 自定义序列自动播放条
前端·javascript·vue
清风细雨_林木木8 小时前
Vue 中生成源码映射文件,配置 map
前端·javascript·vue.js
FungLeo9 小时前
node 后端和浏览器前端,有关 RSA 非对称加密的完整实践, 前后端匹配的代码演示
前端·非对称加密·rsa 加密·node 后端
不灭锦鲤9 小时前
xss-labs靶场第11-14关基础详解
前端·xss
不是吧这都有重名9 小时前
利用systemd启动部署在服务器上的web应用
运维·服务器·前端