专栏名称: 程序员成长指北
专注 Node.js 技术栈分享,从 前端 到 Node.js 再到 后端数据库,祝您成为优秀的高级 Node.js 全栈工程师。一个有趣的且乐于分享的人。座右铭:今天未完成的,明天更不会完成。
今天看啥  ›  专栏  ›  程序员成长指北

摆脱复杂环境配置!教你如何直接在浏览器编译ES6+/TS代码

程序员成长指北  · 公众号  ·  · 2024-08-18 22:06
    

主要观点总结

本文介绍了Babel及其独立版本@babel/standalone的相关知识,包括其在浏览器环境中的使用、常用函数、预设和插件的注册,以及应用场景。

关键观点总结

关键观点1: Babel是一个JavaScript编译器,主要用于将现代JavaScript转换为向后兼容的JavaScript,方便在较旧的浏览器环境中运行。

Babel的编译过程在构建工具(如Webpack,Vite,Gulp)中进行,不会在浏览器中实时编译。

关键观点2: @babel/standalone是Babel的一个独立版本,允许在浏览器环境中直接使用Babel,将现代JavaScript代码编译为浏览器可执行的JavaScript。

它包含了transform、registerPreset、registerPlugin等常用函数。

关键观点3: 使用@babel/standalone可以在浏览器中实现JavaScript/TS的编译过程,适用于在线编辑器、教学和学习网站等场景。

常见的预设如@babel/preset-env、@babel/preset-react和@babel/preset-typescript可用于不同的场景。

关键观点4: 除了常见的预设外,对于没有官方文档或不支持在浏览器环境中运行的预设,可以通过验证transform编译时是否报错来判断其是否可用。

对于@babel/standalone的应用场景,如在线代码编辑器、在线教程或学习网站等,可以使用它来展示现代JavaScript语法并实时显示转换后的代码或执行结果。


文章预览

大厂技术    高级前端    Node进阶 点击上方  程序员成长指北 ,关注公众号 回复 1 ,加入高级Node交流群 背景 我们都知道 Babel 本身是一个 JavaScript 编译器,主要用于将现代 JavaScript (比如 ECMAScript 2015+ , TypeScript , JSX 等)转换为向后兼容的 JavaScript ,方便在较旧的浏览器环境中下运行。而且 Babel 的编译过程是在构建过程( Webpack,Vite,Gulp 等构建工具)进行,不会在 浏览器中实时编译 。 浏览器默认不支持 Babel 的原因主要是性能考虑和开发流程。 Babel 的设计初衷应该就是作为一个编译工具,在构建阶段使用,而不是在浏览器中实时执行。 但是我们有时候想在浏览器环境中实现 JavaScript/TS 的编译过程,比如在线编辑器中 CodePen ES10等 代码的执行需要先编译后执行等,这时候浏览器实现编译是一个必不可少的需求。 接下来我们文章的主 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览