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

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处理
是个编译器是个桥梁、插件

http://www.xdnf.cn/news/2505.html

相关文章:

  • 微深节能 平板小车运动监测与控制系统 格雷母线
  • LeetCode题解1297. 子串的最大出现次数
  • 低压电工常见知识点
  • 麒麟系统通过 Service 启动 JAR 包的完整指南
  • 【KWDB 创作者计划】_KWDB引领数据库技术革新的璀璨之星
  • 业务校验工具包-validate-utils介绍
  • spring-rabbit的CachingConnectionFactory默认参数导致消费者Channel数量暴增问题解决
  • go语言八股文(三)
  • Deep Dark Sea 局域網文件共享即時匿名聊天去數據庫部署
  • Ldap高效数据同步- MirrorMode双主复制模式配置详解(下)
  • spring项目rabbitmq es项目启动命令
  • 【Pandas】pandas DataFrame rfloordiv
  • 查回来的数据除了 id,其他字段都是 null
  • 【音视频】SDL事件
  • AI 发展历史与关键里程碑_附AI 模型清单及典型应用场景以及物流自动化适合的模型选择
  • 从零开始开发一个简易的五子棋游戏:使用 HTML、CSS 和 JavaScript 实现双人对战
  • windows安装docker,发现没有hyper
  • JVM常见的垃圾回收器
  • RT Thread Studio创建USB虚拟串口工程
  • 生物医学AI的特种算力需求:冷冻电镜数据处理中的GPU加速方案
  • 互斥量函数组
  • List 的介绍 [数据结构 初阶]
  • Missashe考研日记-day28
  • 海关 瑞数 后缀分析 rs
  • 详解React Fiber架构中,reconcile阶段的具体工作流程
  • 使用 Doxygen 生成类似官网的专业文档
  • 【黑马JavaWeb+AI知识梳理】前端Web基础02 - JS+Vue+Ajax
  • WSL2里手动安装Docker 遇坑
  • 234. 回文链表(java)
  • 李沐动手深度学习(pycharm中运行笔记)——07.自动求导