说说 Babel 的 babel-node 工具

babel-node 工具提供了一个支持 ES6 的 REPL 交互式运行环境。在此环境中,我们可以做一些简单的代码调试。

babel-node 是 babel-cli 的附带工具,所以只要安装了 babel-cli ,就可以直接使用 babel-node 啦O(∩_∩)O~

执行 babel-node,即可进入 REPL 环境:

> ((x,y) => {return x*y})(2,3)
6
> .exit

直接输入 ES6 语法的代码,按回车,即可看到输出结果。
输出 .exit 或者按两次 Ctrl + C,即可退出 REPL 环境。

1 操作变量

像 Node 一样,也可以直接定义变量,并直接使用:

> var i=1
undefined
> i
1

通过下划线,还可以快捷引用最近使用的表达式:

> var i=3
undefined
> i
3
> _
3
>

2 支持的指令

除了退出指令,REPL 环境还支持以下指令:

2.1 .help 帮助指令

打印可用的命令列表:

> .help
.break    Sometimes you get stuck, this gets you out
.clear    Alias for .break
.editor   Enter editor mode
.exit     Exit the repl
.help     Print this help message
.load     Load JS from a file into the REPL session
.save     Save all evaluated commands in this REPL session to a file

2.2 .editor 编辑模式指令

进入编辑模式,在此模式下可以编写多行命令。

> .editor
// Entering editor mode (^D to finish, ^C to cancel)
function hi(){
console.log('Hi,friend');
}
hi();
Hi,friend

在编辑模式中,按 ctrl + D 退出并执行输入的命令,按 ctrl + C 取消操作。

2.3 .save 保存指令

可以把在 REPL 环境中执行的指令,一次性输出保存到指定文件中。指令格式为:

.save file_name

2.4 .load 加载指令

该指令会加载指定的 js 文件并执行。指令格式为:

.load  file_name.js

3 直接执行

也可以直接执行 ES6 脚本:

F:\WebstormProjects\deniro_es6>babel-node es6_script.js
6

4 本地安装

当然,babel-node 也可以随着 babel-cli 安装在本地,命令如下:

npm install --save_dev babel-cli

然后,修改 package.json:

  "scripts": {
   ...
    "babel-node-script":"babel-node es6_script.js"
  }

接着执行以下命令:

npm run babel-node-script

> deniro_es6@0.0.1 babel-node-script F:\WebstormProjects\deniro_es6
> babel-node es6_script.js

6


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • babel官网 babel 介绍 Babel 是一个通用的多用途 JavaScript 编译器。通过 Babel ...
    锋享前端阅读 5,797评论 0 10
  • Babel是一个广泛使用的转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。 这意味着,你可以现在就用 ...
    yichen_china阅读 5,090评论 0 3
  • 33、JS中的本地存储 把一些信息存储在当前浏览器指定域下的某一个地方(存储到物理硬盘中)1、不能跨浏览器传输:在...
    萌妹撒阅读 6,370评论 0 2
  • babel官网 babel 介绍 Babel 是一个通用的多用途 JavaScript 编译器。通过 Babel ...
    不得不爱XIN阅读 4,837评论 0 9
  • babel 7 的使用的个人理解 最近看了很多关于babel的使用方法,大部分在一些点上都没有说明白,同时给出的代...
    zshawk1982阅读 21,110评论 14 43