SWC(Speedy Web Compiler)

ops/2024/9/23 0:31:59/

概述

SWC 由 Rust 编写, 既可用于编译,也可用于打包。

对于编译,它使用现代 JavaScript 功能获取 JavaScript / TypeScript 文件并输出所有主流浏览器支持的有效代码。

SWC在单线程上比 Babel 快 20 倍,在四核上快 70 倍。

简单来说swc实现了和babel一样的功能,但是它比babel快。

优势在于其高性能和低内存消耗,这源于 Rust 语言的性能优势。

swc官网 swc.rs/

npm i @swc/core

核心功能

  • JavaScript/TypeScript 转换 。可以将现代 JavaScript(ES6+)和 TypeScript 代码转换为兼容旧版 JavaScript 环境的代码。

  • 模块打包。 SWC 提供了基础的打包功能,可以将多个模块捆绑成一个单独的文件。

  • SWC 支持代码压缩和优化功能,类似于 Terser。它可以对 JavaScript 代码进行压缩,去除不必要的空白、注释,并对代码进行优化以减小文件大小,提高加载速度。

  • SWC 原生支持 TypeScript,可以将 TypeScript 编译为 JavaScript。

  • SWC 支持 React 和 JSX 语法,可以将 JSX 转换为标准的 JavaScript 代码。它还支持一些现代的 React 特性。


http://www.ppmy.cn/ops/113951.html

相关文章

C#_封装详解

封装 封装 被定义为"把一个或多个项目封闭在一个物理的或者逻辑的包中"。在面向对象程序设计方法论中,封装是为了防止对实现细节的访问。 抽象和封装是面向对象程序设计的相关特性。抽象允许相关信息可视化,封装则使程序员实现所需级别的抽象…

Golang | Leetcode Golang题解之第414题第三大的数

题目: 题解: func thirdMax(nums []int) int {var a, b, c *intfor _, num : range nums {num : numif a nil || num > *a {a, b, c &num, a, b} else if *a > num && (b nil || num > *b) {b, c &num, b} else if b ! ni…

【图像匹配】基于Harris算法的图像匹配,matlab实现

博主简介:matlab图像代码项目合作(扣扣:3249726188) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于基于Harris算法的图像匹配,用matlab实现。 一、案例背景和算法介绍 …

Docker_启动redis,容易一启动就停掉

现象以及排查过程 最近在使用docker来搭建redis服务,但是在启动redis哨兵容器时,总是发现这个容器启动后立马就停止了。首先想到的是不是服务器资源不够用了导致的这个现象,排查后发现不是资源问题。再者猜测是不是启动报错了,查看…

Unity教程(十六)敌人攻击状态的实现

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程(零)Unity和VS的使用相关内容 Unity教程(一)开始学习状态机 Unity教程(二)角色移动的实现 Unity教程(三)角色跳跃的实现 Unity教程&…

sql基础语法及常见函数等

一、SQL语句的种类 1、DDL(Data Definition Language,数据定义语言): CREATE:用于创建数据库和表等对象。 DROP:用于删除数据库和表等对象。 ALTER:用于修改数据库表的结构,如添加…

MATLAB图像处理

MATLAB图像处理 MATLAB,作为美国MathWorks公司出品的商业数学软件,以其强大的矩阵运算能力和丰富的函数库,在图像处理领域得到了广泛的应用。MATLAB不仅提供了基础的图像处理功能,还通过图像处理工具箱(Image Process…

PostgreSQL JAVA与SQL集成之PL/Java

PostgreSQL pljava PL/Java 作为 PostgreSQL 的编程语言扩展之一,与 PL/pgSQL(PostgreSQL 原生的存储过程语言)相比,提供了 Java 语言特有的面向对象功能,并支持 Java 的标准库和第三方库。由于 Java 是一种跨平台的语…