x-cmd pkg | tsx - Node.js 的直接替代品

目录

    • 简介
    • 首次用户
    • 功能特点
    • 竞品和相关作品
    • 进一步探索

简介

tsx 代表 “TypeScript execute”,由 TypeScript 编写,内部使用由 Go 语言编写的 esbuild 核心二进制实现超快的 TypeScript 编译,旨在增强 Node.js 以无缝运行 TypeScript / ESM / CJS module 编写的脚本文件,成为 node 命令的直接替代品。

首次用户

  1. 使用 x env use tsx 即可自动下载并使用

    • 在终端运行 eval "$(curl https://get.x-cmd.com)" 即可完成 x 命令安装, 详情参考 x-cmd 官网
  2. x-cmd 提供1分钟教程,其中包含了 tsx 命令常用功能的 demo 示例,可以帮你快速上手 tsx 。

  3. 使用案例:

    tsx-1min-cn

    # 安装 tsx
    x env use tsx# tsx 兼容 node 命令,支持 TS 和 JSX 开箱即用
    tsx hello.js
    tsx hello.tx
    

功能特点

  1. 开箱即用:无需额外操作或是额外配置如 tsconfig 等配置文件,即可直接运行 TypeScript 脚本文件。此外 tsx 可以通过检测模块的加载方式来确定如何编译脚本文件,以支持 ESM 或是 CJS 规范的脚本文件。
  2. 运行快速:tsx 的核心由 esbuild 提供支持,实现对 TypeScript 超快编译,同时 esbuild 不会进行类型检查,所以使用 tsx 运行 ts 脚本文件都有明显的运行优势。
  3. 兼容 node 命令:tsx 是 Node.js 的封装调用,所以是支持所有 Node.js 命令行参数以及选项,此外还提供 Watch 模式,帮助用户更便捷调试开发脚本。

竞品和相关作品

  1. [ts-node]:ts-node 也同样是在 Node.js 上运行 TypeScript 的命令行的工具,运行时会对文件进行类型检查,对于需要严格模式下运行的脚本文件,ts-node 是更好的选择。
  2. [bun]:bun 由 Jarred Sumner 在 2021年使用 Zig 开发。但不同于 node 和 deno 基于 Chrome 项目的 V8引擎,bun 使用 JavaScriptCore 引擎。同时 bun 提供开箱即用运行 TypeScript 脚本文件,x-cmd 也引入了 bun,有兴趣的读者可以参考 x-cmd pkg bun。
  3. deno 是一个由 Node 原作者采用 Rust 开发,同样也是开箱即可运行 Typescript,以推广更严谨更安全的代码。x-cmd 也引入了 deno,有兴趣的读者可以参考 x-cmd pkg deno。

进一步探索

  • tsx - GitHub

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

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

相关文章

Golang的API项目快速开始

开启一个简单的API服务。 golang的教程网上一大堆,官网也有非常详细的教程,这里不在赘述这些基础语法教程,我们意在快速进入项目开发阶段。 golang好用语法教程传送门: m.runoob.com/go/ 编写第一个API 前提:按照上一…

[Oracle][详细] Win完全卸载Oracle

前提准备 进入服务 找到Oracle开头的服务 将这些服务全部停止 Top 1 点击开始菜单找到Oracle,然后点击Oracle安装产品,再点击【Universal Installer】 Top 2 点击之后稍等一会然后会进入进入下图界面,点击卸载产品 Top 3 选中要删除的Oracle产品,然后点击【删除】 Top 4 进…

性能监控软件选择攻略

随着企业对应用程序性能的关注度不断增加,选择适当的性能监控软件变得至关重要。性能监控软件能够帮助企业实时追踪应用程序的性能指标,识别潜在问题并提高系统的稳定性。在选择性能监控软件时,以下攻略将有助于确保您的选择符合业务需求并能…

SpringIOC之support模块GenericApplicationContext

博主介绍:✌全网粉丝5W+,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验✌ 博主作品:《Java项目案例》主要基于SpringBoot+MyBatis/MyBatis-plus+…

鸿蒙开发笔记(一):ArkTS概述及声明式UI的使用

ArkTS是HarmonyOS优选的主力应用开发语言。ArkTS围绕应用开发在TypeScript(简称TS)生态基础上做了进一步扩展,继承了TS的所有特性,是TS的超集。 ArkTS在TS的基础上主要扩展了如下能力: 基本语法:ArkTS定义…

Docker实战06|深入剖析Docker Run命令

前几篇文章中,重点讲解了Linux Namespace、Cgroups、AUFS的核心原理,同样也是Docker的底层原理实现。目录如下: • 《Docker实战01|容器与开发语言》 • 《Docker实战02|Namespace》 • 《Docker实战03|C…

软件测试公式之如何高质量的做BUG分析?

对于BUG分析,测试人员再熟悉不过了。但如果是面对大量的BUG,要如何有效的分析呢?有什么好的方案和行动项?今天聊聊这个话题。 01 BUG分析简单可以分为两类:宏观BUG分析 和 微观BUG分析。 宏观BUG分析:在…

【python】进阶--->MySQL数据库(一)

一、mysql数据库 关系型数据库 : 一些相关的表和其他数据库对象的集合。 表是由行和列组成。列包含一组命名的属性(也称为字段)。 行包含一组记录,行和列的交集称为数据项(也叫字段值)。 数据库(database) : 存储数据的仓库,本质上就是一个文…

《C++ Primer》第14章 重载运算与类型转换(二)

参考资料: 《C Primer》第5版《C Primer 习题集》第5版 14.8 函数调用运算符(P506) 如果类重载了函数调用运算符,则我们可以像使用函数一样使用该类的对象。这样的类同时也能存储状态,所以它们比普通函数更加灵活。…

x-cmd pkg | czg - git commit 智能生成工具

目录 简介首次用户功能特点竞品和相关作品进一步探索 简介 czg 源于 commitizen/cz-cli 交互插件中 cz-git 的延伸项目,重新使用 TypeScript 编写的零依赖独立的 Node.js 命令行工具。旨在使用交互友好的方式,辅助用户生成规范的 git commit message 约…

游泳耳机哪种款式好?最值得入手的游泳耳机大全

在如今注重健康和娱乐的生活方式中,游泳作为一项全身性的运动备受欢迎。然而,对于热爱水中活动的人们来说,选择一款出色的游泳耳机至关重要。好的游泳耳机不仅能提供清晰的音质,还能有效防水,让您在水中尽情畅游的同时…

MySQL中约束是什么?

🎉欢迎您来到我的MySQL基础复习专栏 ☆* o(≧▽≦)o *☆哈喽~我是小小恶斯法克🍹 ✨博客主页:小小恶斯法克的博客 🎈该系列文章专栏:重拾MySQL 🍹文章作者技术和水平很有限,如果文中出现错误&am…

记录由客户端http请求原因引起的5xx响应问题排查过程

看到 http 状态码 5xx,很多开发者第一感觉就是服务端的问题,其实并不全是。下面我遇到的问题就是一个例外。 问题描述 最近在为反向代理 nginx 配置 auth_request 后,出现了请求504错误。 504状态码是HTTP协议中的一种服务器错误状态码。当…

Windows压缩包的MySQL安装方式

1.下载压缩包 https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-8.0.35-winx64.zip 2.解压压缩包(建议将解压到非C盘,路径不要出现特殊符号) 3.在MySQL主目录下,创建my.ini空文件(先创建一个txt文件,进…

JavaScript删除数组中指定元素的5种方法

文章目录 目录 文章目录 前言 一、数组是什么? 二、讲解数组 总结 前言 在JavaScript开发中,处理数组是一项非常常见的任务。有时候我们需要从数组中删除特定的元素,以便对数组进行进一步操作或者满足特定的需求。幸运的是,JavaS…

Swoft - Bean

一、Bean 在 Swoft 中,一个 Bean 就是一个类的一个对象实例。 它(Bean)是通过容器来存放和管理整个生命周期的。 最直观的感受就是省去了频繁new的过程,节省了资源的开销。 二、Bean的使用 1、创建Bean 在【gateway/app/Http/Controller】下新建一个名为…

7.vue学习笔记(模板引用+组件组成+组件嵌套关系)

文章目录 1.模板引用2.组件组成3.组件嵌套关系3.1.App.vue3.1.1.Header.vue3.1.2.Main.vue3.1.3.Aside.vue 1.模板引用 在Vue直接读取DOM 虽然Vue的声明性渲染模型为你抽象了大部分对DOM的直接操作(事件,内容,属性), …

持久双向通信网络协议-WebSocket-入门案例实现demo

1 介绍 WebSocket 是基于 TCP 的一种新的网络协议。它实现了浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接, 并进行双向数据传输。 HTTP协议和WebSocket协议对比: HTTP是短连接&#xff0…

【MATLAB】小波_LSTM神经网络时序预测算法

有意向获取代码,请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 小波-LSTM神经网络时序预测算法是一种结合了小波变换和长短期记忆神经网络(LSTM)的时间序列预测方法。 小波变换是一种信号处理方法,能够将信号分解为…

<蓝桥杯软件赛>零基础备赛20周--第14周--BFS

报名明年4月蓝桥杯软件赛的同学们,如果你是大一零基础,目前懵懂中,不知该怎么办,可以看看本博客系列:备赛20周合集 20周的完整安排请点击:20周计划 每周发1个博客,共20周。 在QQ群上交流答疑&am…