手记

八个贴士,让你在2018年开发更好的Node.js应用

在过去的两年里,我们已经介绍了关于编写Node.js的最佳实践 (阅读 2016 版 或 2017 版)。又是一年春好季,是时候重温一下这个话题,让自己更上一层楼了!

在这篇文章中,我们收集了一些,我们认为在2018年里,作为一位Node.js开发者所需要的贴士。你可随意挑选,作用在新的一年的实践中。

Tip #1: 使用 async - await

Async - await 在Node.js 8 中震撼登场了。它改变了我们处理同步事件的方式,并简化了我们先前所写的那些繁杂的代码。如果你还没有使用async - await,参考我们的介绍 。

使用它,可以帮助你更新以往对 async programming and Promises 的见解。

Tip #2: 熟练运用 import 与 import()

ES 模块已被转译器、库等广泛支持与使用@std/esm 。它们在Node.js 8.5 (的项目使用)--experimental-modules标记时,即可提供原生支持。,但距离生产环境下使用尚有可冀。

我们建议你在2018年中,立即跟进技术趋势,学习它们的新标准。你可以在这里找到一些简单的ES 模块指引。

Tip #3: 熟悉 HTTP/2

Node.js8.8中默认支持HTTP/2。它所具有的服务器端推送和多路复用的特性,为浏览器中高效使用原生模块做足了准备。一些诸如Koa和Hapi的模块已经部分支持,其他的,譬如Express和Meteor,已经在着手支持。

Node.js的HTTP/2依然是实验性阶段,但我们期待2018年能够出现更多更好的库,你可以在这里查看我们关于HTTP/2的看法。

Tip #4: 摒弃对代码风格的争议

Prettier 在2017年备受瞩目。它是一个可配置的代码格式化工具,它会自动格式化你的代码而不仅仅是给予格式警告。 但仍有一些代码错误 ——例如 未使用的变量(no-unused-vars) 与 隐式全局声明(no-implicit-globals), 不能被自动处理。

最重要的是,你需要将Prettier与你一直沿用的代码格式化工具,一起应用于未来的开发项目中。如此的好处多多,尤其是对团队中具有阅读障碍的成员而言。

Tip #5: 提升 Node.js 应用的安全性

每年都会有大量的 安全漏洞(security breaches) 被发现。 2017年也不会例外。安全问题尽管层出不穷 ,但也不应当视而不见。(译:此句用意应为,尽管安全问题总在不同的地方不停出现,但不该作为常态去消极对待,而应积极防范。)了解如何提升安全性,参见我们的 Node.js 安检清单(Node.js Security Checklist).

如果你认为你的应用已足够安全,可以使用 Snyk 和 Node Security Platform 去测试是否有更隐蔽的漏洞。

Tip #6: 拥抱微服务思潮

如果你存在部署问题,或即将开发一个大型项目,或许可以考虑使用微服务架构了。学习以下两种新技术,跟进2018年的微服务技术趋势。

Docker 是一项软件容器技术,它能将软件所需的一切运行条件都打包到一个完整的系统中,包括但不限于:代码、runtime、系统工具和系统库。

Kubernetes 是一个用来实现自动化部署、拓展和管理容器的开源系统。

为免(过早地)深陷到容器与分布式等(新概念的)漩涡中去,你可以通过改良已有的代码来练练手。按照 12要素(12-factor app )去做。你可以更容易地去开发与实现容器化。

Tip #7: 服务监控

古人云防范于未然。监控与警报是生产部署中的重中之重。但驯服一个微服务系统绝非易事。幸运的是,当今发展迅速,许多先进工具已崭露头角。 参照 监控的未来( future of monitoring holds) ,或者查看 分布式监控(OpenTracing standard).

若你更注重实践, 我们的Prometheus指南(our Prometheus tutorial) 可以带你更好地踏入监控服务的世界。

Tip #8: 奉献于开源

你是否有心仪的 Node.js 项目? 你有机会令这些项目锦上添花,你只需找到感兴趣的 issue 并着手编码即可。

如果你不知道如何入手,可参照 GitHub开源入门 或者 GitHub开源教程 。实践出真知,开发者更如是。


原文出处: 8 Tips to Build Better Node.js Apps in 2018 | @RisingStack

译文地址:http://www.zcfy.cc/article/8-tips-to-build-better-node-js-apps-in-2018-risingstack

译者:众成翻译

0人推荐
随时随地看视频
慕课网APP