You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Deno中导入本地Node.js/NPM包?

在Deno中导入本地Node.js项目的方法

方法1:直接用npm:协议指向本地路径

如果你的本地Node.js项目是标准的Node包(包含package.json),可以直接通过npm:协议搭配相对路径导入。比如本地Node项目在当前Deno项目的同级目录../my-local-node-package,代码里这么写:

import { someFunction } from "npm:../my-local-node-package";

路径是相对于当前Deno文件的相对路径,Deno会自动处理该Node项目的依赖,以及CommonJS到ES模块的转换。

方法2:将本地Node项目链接为全局npm包后引用

要是不想每次写长相对路径,先把本地Node项目链接到全局npm:

cd ../my-local-node-package
npm link

之后在Deno项目里直接用包名导入即可:

import { someFunction } from "npm:my-local-node-package";

这种方式适合频繁引用该本地包的场景,修改Node项目后无需重新调整导入路径,Deno会读取最新内容。

方法3:用importmap统一管理本地依赖

如果有多个本地依赖,可通过import_map.json统一配置:

  1. 创建import_map.json文件:
{
  "imports": {
    "my-local-package": "npm:../my-local-node-package"
  }
}
  1. 运行Deno时指定导入映射:
deno run --import-map=import_map.json your-script.ts
  1. 代码里直接用别名导入:
import { someFunction } from "my-local-package";

注意事项

  • 确保本地Node项目的package.json中正确声明了main或exports字段,Deno需要通过这些字段找到包的入口文件。
  • 如果Node项目用的是CommonJS语法,Deno会自动转换,但部分复杂CommonJS特性可能需要启用兼容模式:deno run --compat your-script.ts。

内容的提问来源于stack exchange,提问作者damd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 14:17:40