如何在Deno的deps.ts中处理Express依赖导出及类型声明?
在Deno中拆分Express依赖到deps.ts的解决方案
A) 正确在deps.ts中导出Express
要在deps.ts中成功导出express,需将类型注释与导出语句结合,具体写法如下:
// @deno-types="npm:@types/express@4.17.17" export { default as express } from "npm:express@4.18.2";
在主业务文件中,只需从deps.ts导入即可正常使用:
import { express } from "./deps.ts"; const app = express(); app.get("/", (req, res) => { res.send("Welcome to the Dinosaur API!"); }); app.listen(8000);
B) 类型声明的处理方案
类型声明建议放在dev_deps.ts中(仅用于开发阶段,不影响生产代码),但不能仅添加注释,需显式导入并导出类型模块:
dev_deps.ts的写法:
// @deno-types="npm:@types/express@4.17.17" import type * as Express from "npm:@types/express@4.17.17"; export type { Express };
在需要使用类型的文件中,从dev_deps.ts导入即可获得完整的类型提示:
import { express } from "./deps.ts"; import type { Express } from "./dev_deps.ts"; app.get("/", (req: Express.Request, res: Express.Response) => { res.send("Welcome to the Dinosaur API!"); });
内容的提问来源于stack exchange,提问作者birgersp
相关产品推荐
相关产品推荐

