发布于:2021-02-19 00:00:24
0
180
0
Babel工具链是很棒的。在ES6特性进入浏览器之前,我们已经使用Babel编写了ES6 JavaScript,我们使用它来解析JavaScript和编写JSX等等。Babel可以用JavaScript语言做任何事情,我刚刚了解到Babel工具链的另一种用法:babili, ES6+ aware JavaScript minifier。
在创建它时,许多其他JavaScript压缩程序都无法进行ES6压缩,但是当您拥有像Babel这样令人惊叹的,具有前瞻性的解析器时,创建支持ES6 +的压缩程序将变得更加容易。
从命令行使用babili
快速缩小时,我更喜欢从命令行使用babili:
// Sample source code:
class Mangler {
constructor(program) {
this.program = program;
}
}
new Mangler(); // without this it would just output nothing since Mangler isn't used
// Before:
// ES2015+ code -> Babel -> Babili/Uglify -> Minified ES5 Code
var a=function a(b){_classCallCheck(this,a),this.program=b};new a;
// After:
// ES2015+ code -> Babili -> Minified ES2015+ Code
class a{constructor(b){this.program=b}}new a;
需要注意的是巴比利确实 不transpile ES5的JavaScript涅槃之前-你需要使用像一个很好的工具lebab从ES5来获得ES6 +。假设您的源文件中确实有ES6,您会发现babili巧妙地缩小了所有代码!
通过Node.js使用babili
babili是用JavaScript实现的JavaScript解析器,也可以通过Node.js API使用。您还可以使用数十个babili插件来自定义缩小版本。查阅文档以获取 令人印象深刻的基准测试和Node.js使用信息。
Babel与任何流行的JavaScript框架一样,对Web上的JavaScript产生了很大的影响,并且将来会继续这样做。如果您还没有探索 Babel工具链,并且它有太多的插件,请花一些时间看看它们。对于开发人员来说,能够在边缘JavaScript语言功能进入浏览器之前对其进行编写和试验是一个优势,无论是让他们找到一份工作,还是简单地使其与语言保持同步。
作者介绍