前端工程化之:webpack4-1(babel的安装和使用)

一、安装

官网:https://babeljs.io/

民间中文网:https://www.babeljs.cn/

1.babel简介

babel一词来自于希伯来语,直译为巴别塔。

巴别塔象征的统一的国度、统一的语言

而今天的 JS 世界缺少一座巴别塔,不同版本的浏览器能识别的 ES 标准并不相同,就导致了开发者面对不同版本的浏览器要使用不同的语言,和古巴比伦一样,前端开发也面临着这样的困境。

babel 的出现,就是用于解决这样的问题,它是一个编译器,可以把不同标准书写的语言,编译为统一的、能被各种浏览器识别的语言。

由于语言的转换工作灵活多样, babel 的做法和 postcss 、 webpack 差不多,它本身仅提供一些分析功能,真正的转换需要依托于插件完成。

2.babel的安装

babel 可以和构建工具联合使用,也可以独立使用。

如果要独立的使用 babel ,需要安装下面两个库:

  • @babel/core: babel 核心库,提供了编译所需的所有api
  • @babel/cli:提供一个命令行工具,调用核心库的api完成编译
javascript 复制代码
npm i -D @babel/core @babel/cli

二、babel的使用

1.babel的使用

@babel/cli 的使用极其简单,它提供了一个命令 babel 。

javascript 复制代码
# 按文件编译
babel 要编译的文件 -o 编辑结果文件
// npx babel a.js -o c.js 

# 按目录编译
babel 要编译的整个目录 -d 编译结果放置的目录
// npx bael js -d dist
// npx bael js -d dist -w(实时监控)

2.babel的配置

可以看到, babel 本身没有做任何事情,真正的编译要依托于 babel插件和babel预设来完成。

babel 预设和 postcss 预设含义一样,是多个插件的集合体,用于解决一系列常见的兼容问题。

如何告诉 babel 要使用哪些插件或预设呢?需要通过一个配置文件 .babelrc 。

javascript 复制代码
{
    "presets": [],
    "plugins": []
}
相关推荐
LucianaiB8 小时前
【元宝搜索开发者征文大赛】AI时代,学得慢就不用学?用元宝搜索打造一个教程保质期,确保每一个教程符合你的现状
前端·人工智能·ai编程
excel8 小时前
JavaScript 对象池:减少高频对象创建与 GC 压力
前端
陈随易10 小时前
纯 Go 写的 JS 引擎,跑分超过了 C 语言的 QuickJS
前端·后端·程序员
子兮曰12 小时前
Chrome 权限元素实战:144 与 151 的渐进增强写法
前端·javascript·chrome
IT_陈寒12 小时前
Redis连接池泄漏那次,我差点把生产环境搞崩了
前端·人工智能·后端
强尼银手12 小时前
我花一天做了个格斗游戏原型,判定全对,然后被「美术」劝退了
前端·javascript
石小石Orz12 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法
陈随易13 小时前
专注飞机 FocusFlight,两个人把番茄钟做成了一趟航班
前端·后端·程序员
总要学点什么13 小时前
第98篇:三维特效-材质线效果——给一条线换十种材质,虚线的图案只填了一半
开发语言·前端·javascript·ecmascript·gis·webgl·材质
10share13 小时前
基于大模型的 i18n 方案:把中文原文当 Key,轻松搞定多语言维护
前端·vue.js