Deno 2.0如何从本地文件夹安装npm包?
在Deno 2.0中使用本地npm文件夹(包)的方法
Deno 2.0支持本地npm包,只是deno add和deno install的用法和常规远程包场景略有区别,下面是具体实现方式:
使用deno add添加本地npm包
deno add支持直接通过文件路径引用本地包,传入本地包的相对或绝对路径即可:
# 相对路径示例 deno add ./local-packages/my-custom-npm-pkg
执行后,项目的deno.jsonc会自动在dependencies中添加对应条目:
{ "dependencies": { "my-custom-npm-pkg": "./local-packages/my-custom-npm-pkg" } }
之后就能在代码中直接导入该包:
import { coreFunc } from "my-custom-npm-pkg";
通过导入映射(Import Map)配置本地包
如果需要自定义包名别名,可创建import_map.json文件指定映射关系:
{ "imports": { "my-local-pkg": "./path/to/your/local-npm-package/" } }
运行代码时通过参数指定导入映射文件:
deno run --import-map=import_map.json your-entry-script.ts
代码中直接用别名导入:
import { bar } from "my-local-pkg";
关于deno install的说明
deno install的核心作用是将可执行脚本安装为全局命令,并非用于添加项目依赖,因此不要用它来处理本地npm包的依赖引入。
注意事项
- 本地npm包必须包含
package.json文件,Deno会解析其中的main或exports字段确定包的入口。 - 若本地包自身存在npm依赖,Deno会自动从npm registry拉取这些依赖,无需额外配置。
内容的提问来源于stack exchange,提问作者Don
相关产品推荐
相关产品推荐

