如何参与 deno 的建设?

由于目前 deno 还十分简陋,所以十分需要大家贡献代码。

下面的两个例子可以让你知道参与 deno 的建设是多么简单而又有趣的事情。

想贡献代码的同学,请先按照 deno 的 README 将 deno 编译出来,如果编译遇到问题可以去 issues 里面反馈。



例一:给 console 添加 assert 方法:

PR 看这里

第一步,在 globals.ts 里给 console 添加 assert 方法;

第二步,在 testdata 目录里添加测试用例;

第三步,在 testdata 目录里添加测试期望。

这是我能找到的最简洁的例子:代码、测试和测试期望一应俱全。

很简单吧~

console 还有很多函数等着我们去完善,比如 console.error console.warn 等,所以你有很多可以做的。


例二:给 deno 添加 fileWrite 方法,这个例子稍微复杂一些。

首先在 os.ts 里添加一个 fileWrite 接口:

可以看到这个接口并没有实现 fileWrite 方法,只是使用 sendMsg 发送了一个消息给 go。

然后我们去 os.go 文件里实现写文件功能:

go 一旦收到 Msg_FILE_WRITE 消息,就会调用 FileWrite,FileWrite 的核心就是调用 syscall.Write 方法。

如此一来我们的功能主要逻辑就都实现了,但是有几个细节需要注意:

一,新增的 message 类型要写在 msg.proto 文件里面:

二、要添加测试用例。(很遗憾不知为何这个 PR 里没有添加测试用例)。


deno 未来可能要实现的 API 列在这里了。

Ryan 本人想要做的事情写在这里了。


希望能有更多人给 deno 贡献代码~

方应杭:快速了解 deno 目前的 APIzhuanlan.zhihu.com图标

编辑于 2018-06-03

文章被以下专栏收录