首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

英文:Bertalan Miklos 译文:众成翻译/leekafai

在过去的两年里,我们已经介绍了关于编写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、系统工具和系统库。

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

Tip #7: 服务监控

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

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

Tip #8: 奉献于开源

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

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

觉得本文对你有帮助?请分享给更多人

关注「前端大全」,提升前端技能

淘口令:复制以下红色内容,再打开手淘即可购买

范品社,使用¥极客T恤¥抢先预览(长按复制整段文案,打开手机淘宝即可进入活动内容)

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180328B1MAN000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券