[Babel] Intro Babel - 03. CLI

news/2025/11/7 7:52:21/文章来源:https://www.cnblogs.com/Answer1215/p/18675741

CLI

关于 babel 所提供的 CLI,你可以在 https://babeljs.io/docs/babel-cli 看到所有所支持的 CLI 命令。

要使用 CLI 命令,首先第一步是安装:

pnpm add --save-dev @babel/core @babel/cli

注意在安装 @babel/cli 这个包的时候,需要同时安装 @babel/core 这个包,这个包是提供 babel 核心 API 的。CLI 背后实际上就是使用的 API 来实现的。

编译文件相关的 CLI

在使用 babel 的 CLI 命令的时候,有一个基本的格式:

babel [file | dir | glob] --out-[file | dir]

如果你没有指定 --out,那么 babel 会将编译后的结果输出到控制台。

常见的格式如下:

# 编译结果输出到控制台
babel script.js 
# 编译结果输出到指定文件
babel script.js --out-file script-compiled.js 
# 编译整个目录到指定目录下
babel src --out-dir lib
# 编译整个目录下的文件,输出到一个文件里面
babel src --out-file script-compiled.js
# 监视文件,当文件发生变化时自动重新编译
babel script.js --watch --out-file script-compiled.js 

我们在进行编译的时候,可以指定是否要生成 source map:

babel script.js --out-file script-compiled.js --source-maps
babel script.js --out-file script-compiled.js --source-maps inline

忽略文件和拷贝文件

有些时候我们在进行编译的时候,想要忽略某些文件

# 忽略 src 目录下面的所有测试文件
babel src --out-dir lib --ignore "src/**/*.spec.js","src/**/*.test.js"

有些文件我们想要原封不动的进行拷贝,不需要 babel 进行编译

# 将 src 目录下的文件原封不动的复制到 lib 目录下
babel src --out-dir lib --copy-files 
# 进行拷贝的时候忽略文件中匹配的文件不要拷贝
babel src --out-dir lib --copy-files --no-copy-ignored

使用插件和预设

在 CLI 命令行里面也是可以指定插件和预设的

# 指定插件
babel script.js --out-file script-compiled.js --plugins=@babel/transform-class-properties,@babel/transform-modules-amd
# 指定预设
babel script.js --out-file script-compiled.js --presets=@babel/preset-env,@babel/flow

使用配置文件

通过 --config-file 可以指定配置文件的位置

babel --config-file /path/to/my/babel.config.json --out-dir dist ./src

如果想要忽略已经有了的配置文件中的配置,可以使用 --no-babelrc

babel --no-babelrc script.js --out-file script-compiled.js --presets=@babel/preset-env,@babel/preset-react

.bablerc


{"presets": [["@babel/preset-env",{"targets": {"edge": "17","firefox": "60","chrome": "67","safari": "11.1"},"useBuiltIns": "usage","corejs": "3.6.5"}]],"plugins": []
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/870292.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

十分钟写作Day4 1.16

前言 本来昨天和赵北,南皓文和樊绍峰一起去看北京男篮德比,但又因昨天是命题作文,没有记录下我当时的感慨,便在今天的随笔里说说我的看法。 正文 与其说是感慨,不如说这是从不同角度观察这场比赛。 由于赵北已经在他的随笔里介绍了比赛的全过程,因此我在这里也不过多的赘…

svelte 5 按照条件设置样式

设置style <script lang="ts">let count: number = $state(0);const decrement = () => {count -= 1;};const increment = () => {count += 1;}; </script><button onclick={decrement}> - </button> <span style:color={count >…

[Babel] Intro Babel - 01 Introduction

Babel介绍 Babel 是一个编译器,主要用于将最新的 JavaScript 代码转化为向后兼容的代码,以便在老版本的浏览器或环境中运行。 例如,你可能在开发时使用了 ES6、ES7 或者更高级的 JavaScript 特性,但是有些浏览器可能并不支持这些新特性,这时就可以用 Babel 来将代码转化为…

Babel Intro Babel - 01 Introduction

Babel介绍 Babel 是一个编译器,主要用于将最新的 JavaScript 代码转化为向后兼容的代码,以便在老版本的浏览器或环境中运行。 例如,你可能在开发时使用了 ES6、ES7 或者更高级的 JavaScript 特性,但是有些浏览器可能并不支持这些新特性,这时就可以用 Babel 来将代码转化为…

Windows下同时使用多网卡时的跃点数修改

Windows下同时使用多网卡时的跃点数修改Windows下同时使用多网卡时的跃点数修改 https://blog.csdn.net/2301_78023415/article/details/132268337 配置网卡IP,网关,DNS,跃点(优先级) https://blog.csdn.net/qq_52735254/article/details/135035941网站:http://shibowl.top…

HL集训日记

2025.1.16 六个半小时高铁... 打了后缀数组板子,一遍过了,然后写了几个水题,又活了一天。。。

第一章 对程序员来说CPU是什么

热身问答 1.程序是什么? Q:指示计算机每一步的动作和指令 2.程序是由什么组成的? Q:指令和数据 3.什么是机器语言? Q:CPU可以直接识别并使用的语言 4.正在运行的程序存储在什么位置? Q:内存 5.什么是内存地址? Q:内存中,用来表示命令和数据存储位置的数值 6.计算机的…

unordered_map-STL容器

时间复杂度和空间复杂度