文档迁移

npm、package.json 与 deno.json

理解 Deno 2 的依赖安装、锁文件与 node_modules 模式

Deno 2 可以同时读取 package.jsondeno.json。迁移初期不必删掉 Node 配置;先让现有项目在 Deno 下通过安装、检查和测试。

Node 工作流Deno 对应方式
npm installdeno install
npm install lodashdeno install lodash
npm run devdeno task dev(也能执行 package scripts)
package-lock.jsondeno.lock;迁移期可并存
裸导入 lodashpackage.json 项目可解析;Deno-first 也可用 npm:lodash

node_modules 三种模式

模式适用场景
none新 Deno 项目,默认使用全局缓存
autobundler、Node-API 或工具要求本地目录
manual既有 package.json 工作流,显式执行安装
{
  "nodeModulesDir": "auto",
  "tasks": {
    "dev": "deno run --watch -N -E src/main.ts",
    "verify": "deno fmt --check && deno lint && deno check src/main.ts && deno test"
  }
}

生命周期脚本默认不会无条件执行。依赖确实需要 install script 时,运行 deno approve-scripts 交互式审查并批准(批准项持久化到 deno.json 的 allowScripts,Deno 2.6+ 首推);也可以用 deno install --allow-scripts=<package> 一次性精确批准。无论哪种方式,lockfile 变化后都要重新审计。

官方参考:Dependency managementNode and npm compatibility

输入关键词搜索全部文档。