当前位置: 首页 > news >正文

babel和loader的关系

1. Babel 是转译工具(Compiler)

  • Babel 是一个独立的 JavaScript 编译器

  • 作用:把新版本的JS语法(ES6+)转成老版本(比如ES5)。

  • Babel本身只管代码内容怎么变不管怎么读取文件、也不管怎么打包输出


2. Loader 是加载器(在打包工具里的)

比如在webpack里:

  • Loader的作用是告诉webpack:
    👉 当你遇到.js.vue.ts这类文件,应该用谁去处理它。

  • Loader只是一个中间人调用babel来干活


3. 它们之间的关系一眼看懂图👇:

webpack(打包器)|
遇到 .js 文件|
调用 babel-loader(Loader)|
babel-loader 调用 Babel(Compiler)|
Babel 把新JS → 老JS|
返回给 webpack 继续打包

举个配置小例子

比如webpack配置里写:

module.exports = {module: {rules: [{test: /\.js$/,exclude: /node_modules/,use: {loader: 'babel-loader',options: {presets: ['@babel/preset-env']}}}]}
};

这里:

  • test: /\.js$/ → 匹配 .js 文件

  • use: 'babel-loader' → 用 babel-loader 来处理

  • babel-loader 内部再调用 Babel,根据配置转译


总结一句话

BabelLoader (比如babel-loader)
真正负责转代码负责让webpack认识这些代码、并交给babel处理
是个编译器是个桥梁、插件

相关文章:

  • 【数据挖掘】时间序列预测-时间序列的平稳性
  • 猿人学web端爬虫攻防大赛赛题第15题——备周则意怠-常见则不疑
  • DeepSeek:重构人类文明的智能引擎
  • 使用CubeMX新建USART1不定长接收工程
  • log4cpp 编译说明文档
  • Transformer数学推导——Q25 分析视觉-语言模型中区域注意力(Region Attention)的边界框投影公式
  • 机器学习day2-seaborn绘图练习
  • RagFlow文档切块提升
  • 基于亚马逊云科技搭建企业问答系统
  • LeetCode42_接雨水
  • 北冰洋:突破热力极限!99℃离心热泵机组,开启工业节能新时代!
  • GCC 15.1 发布,包含 COBOL 编译器及多项其他改进
  • 再学GPIO(一)
  • Java 设计模式
  • deepSeek浅谈对vue的mixin的理解,用于什么应用场景?
  • Vue3 通过Vue3-Print-Nb在线工单打印 模板打印 自定义打印 打印下载
  • 660SJBH企业信息管理系统
  • SPL 量化 复权数据
  • uniapp跨平台开发---动态控制底部切换显示
  • 【WEB3】web3.0是什么
  • 影子调查丨危房之下,百余住户搬离梦嘉商贸楼
  • 新任浙江省委常委、杭州市委书记刘非开展循迹溯源学习调研
  • 俄罗斯准备在没有先决条件的情况下与乌克兰进行谈判
  • 特朗普签署行政命令推动深海采矿,被指无视国际规则,引发环境担忧
  • 公安部知识产权犯罪侦查局:侦破盗录传播春节档院线电影刑案25起
  • 马上评丨一些影视剧的片名,越来越让人看不懂