如何无需package.json直接运行带NPM依赖的TypeScript脚本?
可直接运行带NPM依赖的TypeScript脚本的工具
以下几个工具可以满足你的需求,无需创建package.json就能直接运行包含NPM模块导入的TypeScript脚本:
Deno
Deno原生支持TypeScript,且允许直接从npm仓库导入依赖(前缀加npm:),不需要额外配置。调整你的脚本如下:// my-script.ts import fs from "node:fs"; import { someFunc } from "npm:some-dep@^4"; fs.readdir(process.argv[2], (err, files) => { if (err) throw err; files.forEach(file => { someFunc(file); }); });运行命令:
deno run --allow-read my-script.ts <目标目录>注意Deno有安全机制,访问文件系统需要加上
--allow-read权限参数。zx
zx专门用于编写脚本,支持直接在TypeScript中导入npm依赖,会自动处理依赖的缓存与安装。示例脚本:// my-script.ts import fs from "fs/promises"; import { someFunc } from "some-dep@^4"; const targetDir = process.argv[2]; const files = await fs.readdir(targetDir); files.forEach(file => someFunc(file));运行命令:
zx my-script.ts <目标目录>tsx + 包管理器临时执行
结合pnpm dlx或yarn dlx,可以临时调用tsx运行脚本,无需本地package.json。前提是你已安装pnpm或yarn:pnpm dlx tsx my-script.ts <目标目录>这个命令会临时下载tsx及脚本依赖,运行完成后不会在本地留下持久化的依赖文件。
内容的提问来源于stack exchange,提问作者Josh M.
相关产品推荐
相关产品推荐

