mirror of
https://github.com/goldbergyoni/nodebestpractices.git
synced 2025-10-27 19:17:13 +08:00
[Chinese-translation]little change.
This commit is contained in:
@ -71,7 +71,7 @@
|
||||
|
||||
## ![✔] 1.4 分离 Express 'app' and 'server'
|
||||
|
||||
**TL;DR:** 避免定义整个[Express](https://expressjs.com/)应用在一个单独的大文件的不好习惯 - 分离您的 'Express' 定义至少在两个文件中: API声明(app.js) 和 网络相关(WWW)。对于更好的结构,是把你的API声明放在组件中。
|
||||
**TL;DR:** 避免定义整个[Express](https://expressjs.com/)应用在一个单独的大文件里, 这是一个不好的习惯 - 分离您的 'Express' 定义至少在两个文件中: API声明(app.js) 和 网络相关(WWW)。对于更好的结构,是把你的API声明放在组件中。
|
||||
|
||||
**否则:** 您的API将只能通过HTTP的调用进行测试(慢,并且很难产生测试覆盖报告)。维护一个有着上百行代码的文件也不是一个令人开心的事情。
|
||||
|
||||
@ -86,7 +86,7 @@
|
||||
|
||||
**否则:** 不能满足任意的配置要求将会使开发,运维团队,或者两者,易于陷入泥潭。
|
||||
|
||||
🔗 [**更多: 配置最佳实践**](/sections/projectstructre/configguide.md)
|
||||
🔗 [**更多: 配置最佳实践**](/sections/projectstructre/configguide.chinese.md)
|
||||
|
||||
<br/><br/><br/>
|
||||
|
||||
@ -96,7 +96,7 @@
|
||||
|
||||
## ![✔] 2.1 使用 Async-Await 和 promises 用于异步错误处理
|
||||
|
||||
**TL;DR:** 使用回调的方式处理异步错误可能是导致灾难的最快的方式(a.k.a the pyramid of doom)。对您的代码来说,最好的礼物就是使用规范的promise库或async-await来替代,这会使其像try-catch一样更加简洁,熟悉的代码结构。
|
||||
**TL;DR:** 使用回调的方式处理异步错误可能是导致灾难的最快的方式(a.k.a the pyramid of doom)。对您的代码来说,最好的礼物就是使用规范的promise库或async-await来替代,这会使其像try-catch一样更加简洁,具有熟悉的代码结构。
|
||||
|
||||
**否则:** Node.JS 回调特性, function(err, response), 是导致不可维护代码的一个必然的方式。究其原因,是由于混合了随意的错误处理代码,臃肿的内嵌,蹩脚的代码模式。
|
||||
|
||||
|
||||
@ -5,6 +5,7 @@
|
||||
|
||||
js天生的宽容性及其多变的代码流选项(例如 EventEmitter, Callbacks, Promises等等)迫使开发人员怎么去引发错误时有多的不一致 – 有些人使用字符串,有些人使用自定义的类型。使用Node.js的内置错误对象有助于在你的代码和第三方库之间保持一致性,它还保留了重要信息,比如StackTrace。当引发异常时,这通常是一个好的习惯去使用附加的上下文属性(如错误名称和相关的HTTP错误代码)填充异常。要实现这种一致性和实践,请考虑使用附加属性扩展错误对象,见下面的代码示例。
|
||||
博客引用:“I don’t see the value in having lots of different types”
|
||||
|
||||
摘自博客Ben Nadel, 对于关键字“Node.JS错误对象”,排名第五
|
||||
…就我个人而言,我不认为有很多不同类型的错误对象的价值——JavaScript作为一种语言,似乎不符合基于构造函数的错误捕获。因此,区分对象属性似乎比在构造函数类型上区分要容易得多…
|
||||
|
||||
|
||||
@ -3,9 +3,9 @@
|
||||
<br/><br/>
|
||||
|
||||
|
||||
### 段落解释
|
||||
### 一段解释
|
||||
|
||||
最新的Express生成器有一个值得保留的伟大实践--API声明与网络相关配置(端口、协议等)是分开的。这样就可以在不执行网络调用的情况下对API进行在线测试,它所带来的好处是:快速执行测试操作和获取代码覆盖率。它还允许在灵活多样的网络条件下部署相同的AP。额外好处:更好的关注点分离和更清晰的代码结构。
|
||||
最新的Express生成器有一个值得保留的伟大实践--API声明与网络相关配置(端口、协议等)是分开的。这样就可以在不执行网络调用的情况下对API进行在线测试,它所带来的好处是:快速执行测试操作和获取代码覆盖率。它还允许在灵活多样的网络条件下部署相同的API。额外好处:更好的关注点分离和更清晰的代码结构。
|
||||
|
||||
<br/><br/>
|
||||
|
||||
@ -43,7 +43,7 @@ var server = http.createServer(app);
|
||||
```
|
||||
|
||||
|
||||
### 示例: 使用超快的流行的测试包在线测试你的代码
|
||||
### 示例代码: 使用超快的流行的测试包在线测试你的代码
|
||||
|
||||
```javascript
|
||||
const app = express();
|
||||
|
||||
Reference in New Issue
Block a user