为Node.js提供即时Typescript和ESM支持。
[!重要] 这是jiti v2的开发分支。查看jiti/v1获取最新稳定版文档,以及unjs/jiti#174了解v2路线图。
require()
import()
您可以使用jiti
CLI快速运行任何带有Typescript和原生ESM支持的脚本!
npx jiti ./index.ts # 或 jiti ./index.ts
// --- 初始化 --- // ESM import { createJiti } from "jiti"; const jiti = createJiti(import.meta.url); // CommonJS const { createJiti } = require("jiti"); const jiti = createJiti(__filename); // --- ESM兼容API --- // jiti.import()类似于import(),但支持Typescript await jiti.import("./path/to/file.ts"); // jiti.esmResolve()类似于import.meta.resolve(),但有额外功能 const resolvedPath = jiti.esmResolve("./src"); // --- CJS兼容API --- // jiti()类似于require(),但支持Typescript和(非异步)ESM jiti("./path/to/file.ts"); // jiti.resolve()类似于require.resolve(),但有额外功能 const resolvedPath = jiti.resolve("./src");
您也可以将选项作为第二个参数传递:
const jiti = createJiti(import.meta.url, { debug: true });
您可以使用全局钩子全局注册jiti。
注意: 这是一种实验性方法,仅在Node.js > 20上测试通过。除非必要,否则我不推荐使用它,请优先选择显式方法。
import "jiti/register";
或:
node --import jiti/register index.ts
debug
false
JITI_DEBUG
启用详细日志记录。您可以使用JITI_DEBUG=1 <您的命令>
来启用它。
fsCache
true
JITI_FS_CACHE
文件系统源缓存(默认启用)
默认情况下(当为true
时),jiti使用node_modules/.cache/jiti
(如果存在)或{TMP_DIR}/jiti
。
注意: 建议保持此选项启用以获得更好的性能。
moduleCache
true
JITI_MODULE_CACHE