Babel与Webpack加载程序

时间:2019-02-11 03:48:29

标签: webpack babeljs transpiler

但是,基于这两者的经验有限,基于我对它们的作用的理解,有一个基本问题。一个webpack加载器似乎正在将源从一种形式转换为另一种形式。另一方面,Babel(是一个编译器)将您的新js转换为旧js(可在所有浏览器上运行)。

两者似乎都做得非常相似。为什么我们不能仅使用“将新js转换为旧js”的webpack加载器,而不是在管道中使用Babel?

2 个答案:

答案 0 :(得分:1)

您的理解几乎是正确的,除了装载程序和编译程序的用例。加载程序是Webpack生态系统中的通用术语,而转译程序是加载程序的一个示例(例如babel-loader是负责翻译js代码的加载程序)。

  

为什么我们不能只使用Webpack加载程序将新的js转换为旧的js,而不是在管道中使用Babel?

     

因为没有加载程序可转换Webpack随附的js代码。这是list of loaders。 Webpack团队维护其中的一些。

答案 1 :(得分:0)

Babel并非特定于webpack。
Webpack加载程序通常只是翻译器的包装。 Webpack需要一个加载器来对转译器进行输入和输出,就像babel-loader对于Babel一样。
Webpack需要装载程序,因为没有用于编译程序的标准API:有些具有JavaScript API,有些使用stdin / stdout,有些写入文件...