发布于 2026-01-06 13 阅读
0

将 Node 项目转换为 Deno

将 Node 项目转换为 Deno

我很有兴趣测试 Ryan Dhal 的Deno,没有什么比做一些个人项目来验证这一点更好的办法了。

迪诺

一些重要事项在此之前:

删除所有 NPM 文件和 node_modules 目录。

你只需要 Deno 就够了,但有些任务会被转换成 Deno 的一些“开箱即用”的命令(例如deno test),而对于其他任务,为了方便起见,我会使用 Makefile。

向导入语句中添加文件扩展名

添加.ts到所有导入语句中。

使用 VS Code 的“查找和替换”功能的一种简单方法

  • 启用正则表达式
  • 搜索字段使用方式(.+?)(?=.ts')
  • 对于“替换字段”,请使用“来自”。$1.ts 替代文字

修复解析器警告并调整逻辑

Deno 严格遵循 TypeScript 和风格指南,并进行了一些逻辑和代码方面的调整。

可选:转换测试和测试任务

# Optional Makefile for convenience
test:
    deno test
Enter fullscreen mode Exit fullscreen mode

转换安装任务并添加第一个依赖项

不用管它npm install你可以用dep.ts,但不是必须的。我用 Makefile 来跟踪所有依赖项:

# Optional Makefile for convenience
install:
    deno install --unstable --allow-read --allow-run -f https://deno.land/x/denon/denon.ts;
Enter fullscreen mode Exit fullscreen mode

转换运行和开发任务(使用 Denon)

这里我使用Denon模块(Deno 的 Nodemon)来监视和重新加载文件更改。

# Optional Makefile for convenience
dev:
    denon $(ENTRY_POINT)
run:
    deno run $(ENTRY_POINT)
Enter fullscreen mode Exit fullscreen mode

设置入口点

将入口点文件名更改index.tsmod.ts Deno/Rust 标准

请使用我的项目作为模板

所有这些步骤都记录在我的项目中:https://github.com/jotafeldmann/elevators/pull/1

请尽情享用,并请给我反馈意见以改进。

文章来源:https://dev.to/jotafeldmann/converting-a-node-project-to-deno-9dp