由于目前 deno 还十分简陋,所以十分需要大家贡献代码。
下面的两个例子可以让你知道参与 deno 的建设是多么简单而又有趣的事情。
想贡献代码的同学,请先按照 deno 的 README 将 deno 编译出来,如果编译遇到问题可以去 issues 里面反馈。
例一:给 console 添加 assert 方法:
第一步,在 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 贡献代码\~
https://zhuanlan.zhihu.com/p/37569396
饥人谷一直致力于培养有灵魂的编程者,打造专业有爱的国内前端技术圈子。如造梦师一般帮助近千名不甘寂寞的追梦人把编程梦变为现实,他们以饥人谷为起点,足迹遍布包括facebook、阿里巴巴、百度、网易、京东、今日头条、大众美团、饿了么、ofo在内的国内外大小企业。 了解培训课程:加微信 xiedaimala03,官网:https://jirengu.com
本文作者:饥人谷方应杭老师