将 Node 项目转换为 Deno
我很有兴趣测试 Ryan Dhal 的Deno,没有什么比做一些个人项目来验证这一点更好的办法了。
一些重要事项在此之前:
删除所有 NPM 文件和 node_modules 目录。
你只需要 Deno 就够了,但有些任务会被转换成 Deno 的一些“开箱即用”的命令(例如deno test),而对于其他任务,为了方便起见,我会使用 Makefile。
- 移除 `<node_modules>
package.json`、package-lock.json`<node_modules>` 以及所有相关内容。请查看此文件以了解所有NPM可能性:https://github.com/github/gitignore/blob/master/Node.gitignore - 消除
node_modules
向导入语句中添加文件扩展名
添加.ts到所有导入语句中。
使用 VS Code 的“查找和替换”功能的一种简单方法:
- 启用正则表达式
- 搜索字段使用方式
(.+?)(?=.ts') - 对于“替换字段”,请使用“来自”。
$1.ts
修复解析器警告并调整逻辑
Deno 严格遵循 TypeScript 和风格指南,并进行了一些逻辑和代码方面的调整。
可选:转换测试和测试任务
- 简短版本:https://github.com/denoland/deno/blob/master/docs/testing.md
- 请按照“开箱即用”的测试套件进行操作:https://deno.land/std/testing
- 将以下内容转换
npm test为类似:
# Optional Makefile for convenience
test:
deno test
转换安装任务并添加第一个依赖项
不用管它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;
转换运行和开发任务(使用 Denon)
这里我使用Denon模块(Deno 的 Nodemon)来监视和重新加载文件更改。
# Optional Makefile for convenience
dev:
denon $(ENTRY_POINT)
run:
deno run $(ENTRY_POINT)
设置入口点
将入口点文件名更改index.ts为mod.ts Deno/Rust 标准。
请使用我的项目作为模板
所有这些步骤都记录在我的项目中:https://github.com/jotafeldmann/elevators/pull/1
请尽情享用,并请给我反馈意见以改进。
文章来源:https://dev.to/jotafeldmann/converting-a-node-project-to-deno-9dp
