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

news/2024/7/24 8:47:20 标签: node.js, ubuntu, linux, tsx

目录

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

简介

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. 使用案例:

    <a class=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。

进一步探索


http://www.niftyadmin.cn/n/5328345.html

相关文章

ChatGPT 淘金潮(全)

原文&#xff1a;The ChatGPT GoldRush 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 一、ChatGPT 简介 什么是 ChatGPT&#xff1f; ChatGPT 是由 OpenAI 基于 GPT-4 架构创建的大型语言模型。它旨在理解和回应自然语言文本输入&#xff0c;使得可以与机器进行对话…

【数据库原理】(27)数据库恢复

在数据库系统中&#xff0c;恢复是指在发生某种故障导致数据库数据不再正确时&#xff0c;将数据库恢复到已知正确的某一状态的过程。数据库故障可能由多种原因引起&#xff0c;包括硬件故障、软件错误、操作员失误以及恶意破坏。为了确保数据库的安全性和完整性&#xff0c;数…

第二十五章 $ZF Callout 快速参考 - $ZF(-5) Call by System ID

文章目录 第二十五章 $ZF Callout 快速参考 - $ZF(-5) Call by System ID$ZF(-5): Call by System ID$ZF(-5)$ZF(-4, 1)$ZF(-4, 2)$ZF(-4, 3) 第二十五章 $ZF Callout 快速参考 - $ZF(-5) Call by System ID $ZF(-5): Call by System ID $ZF(-5) 函数允许应用程序加载 Callou…

600 条 Linux 运维命令总结

1. 基本命令 uname -m 显示机器的处理器架构 uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 (SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性 hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息 arch 显示机器的处理器架构 uname -m 显示…

【RT-DETR改进涨点】MPDIoU、InnerMPDIoU损失函数中的No.1(包含二次创新)

前言 大家好&#xff0c;我是Snu77&#xff0c;这里是RT-DETR有效涨点专栏。 本专栏的内容为根据ultralytics版本的RT-DETR进行改进&#xff0c;内容持续更新&#xff0c;每周更新文章数量3-10篇。 专栏以ResNet18、ResNet50为基础修改版本&#xff0c;同时修改内容也支持Re…

Linux下文件的创建写入读取编程

在linux下操作一个文件&#xff0c;首先要保证文件的存在&#xff08;不存在就创建&#xff09;&#xff0c;接着打开文件&#xff08;打开成功&#xff09;并得到文件描述符&#xff0c;接着在进行读写操作&#xff0c;最后还需要关闭文件。如果我们对文件进行读写之后不关闭文…

【征服redis3】一文征服redis的jedis客户端

使用数据库的时候&#xff0c;我们可以用JDBC来实现mysql数据库与java程序之间的通信&#xff0c;为了提高通信效率&#xff0c;我们有了数据库连接池比如druid等等。而我们想通过Java程序控制redis&#xff0c;同样可以借助一些工具来实现&#xff0c;这就是redis客户端&#…

验证码生成及校验

验证码生成及校验 流程 1、生成验证码提供接口将生成的验证码存入session或redis&#xff0c;将验证码以图片格式或者base64编码串返回给调用端。 2、校验验证码提供接口将收到调用端传过来的校验码&#xff0c;从session或redis取出验证码&#xff0c;两个验证码都全部转小…