webpack module rules 中配置相关的 loader 规则 如果同时符合多个条件 是都执行还是只会执行最近的?

问题描述

webpack module rules 中配置相关的 loader 规则 如果同时符合多个条件 是都执行还是只会执行最近的?

问题出现的环境背景及自己尝试过哪些方法

相关代码

module: {
  rules: [
    {
      // 命中 JavaScript 文件
      test: /\.js$/,
      // 用 babel-loader 转换 JavaScript 文件
      // ?cacheDirectory 表示传给 babel-loader 的参数,用于缓存 babel 编译结果加快重新编译速度
      use: ['babel-loader?cacheDirectory'],
      // 只命中src目录里的js文件,加快 Webpack 搜索速度
      include: path.resolve(__dirname, 'src')
    },
    {
      // 命中 JavaScript 文件
      test: /\.js$/,
      // 用 ts-loader 转换 JavaScript 文件
      use: ['ts-loader'],
      // 只命中src目录里的js文件,加快 Webpack 搜索速度
      include: path.resolve(__dirname, 'src')
    },
  ]
}

两个配置项都匹配了 .js 文件 是两个 loader 都会执行?还是只会执行一个?那是哪一个呢?

你期待的结果是什么?实际看到的错误信息又是什么?

查阅了相关官方文档没有相关的描述,能不能描述下结论的出处?

阅读 3.7k
1 个回答

都执行,你可以写个自定义的loader试一下,只是console就行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题