关键要点
Node.js 彻底改变了 Web 开发,Express 框架功不可没。 Express 可能不是最快或最先进的服务器选项,但它几乎肯定是使用最广泛的,每月下载量超过 300 万次。如果您什么都不做,Node.js 和 Express 的运行速度也会非常快。但是,有一些简单的方法可以使 Express 4.x 运行得更快……
Express 可以运行在多种模式下。默认情况下,它假定为开发模式,该模式提供异常堆栈跟踪和其他日志记录任务。还有一个调试模式,它将消息记录到控制台,例如:
<code>DEBUG=express:* node ./app.js</code>
在您的实时服务器上,您可以通过切换到生产模式来显着提高性能。这可以通过将 NODE_ENV 环境变量设置为 production 来实现。可以在启动 Express 应用程序之前在 Windows 的当前会话中设置它:
<code>set NODE_ENV=production</code>
或 Mac/Linux:
<code>export NODE_ENV=production</code>
Linux 用户还可以在启动时在一行中设置 NODE_ENV:
<code>NODE_ENV=production node ./app.js</code>
理想情况下,您应该通过将 <code>export NODE_ENV=production</code> 添加到您的 ~/.bash_profile
或相应的启动脚本中来配置您的环境。
Express 4.x 提供了最少的可用功能,可以通过中间件来增强。一个不太明显的缺失功能是 GZIP 压缩,它可以缩小 HTTP 负载,以便浏览器在接收时可以对其进行扩展。要添加 GZIP,请使用 npm 安装 compression 模块:
<code>npm install compression --save</code>
(根据您的设置,您可能需要在 Mac/Linux 上使用 sudo——有很多方法可以解决这个问题。)在您的主要应用程序启动文件中,包含 compression 模块:
<code>var compression = require('compression');</code>
然后将其作为第一个中间件函数(在其他 Express .use 方法之前)安装:
<code>DEBUG=express:* node ./app.js</code>
如果您使用 Express Generator 或类似的过程生成了预构建的应用程序,请删除您未使用的任何中间件模块。例如,如果您不使用 cookie,您可以删除 cookie-parser 模块或使用 req.cookies 和 res.cookie 实现更简单的替代方案。在生产模式下,可以删除某些进程,例如调试输出,例如:
<code>set NODE_ENV=production</code>
也就是说,最好保留 serve-favicon。浏览器会频繁请求 favicon.ico 文件,并且该模块可以改进缓存。
Jade 是许多 Express 安装的默认模板引擎,它是一个不错的选择。但是,如果您乐于编写自己的 HTML,并且只需要基本的插值和求值,请考虑使用轻量级的替代方案,例如 doT,它可以使用 express-dot-engine 模块作为 Express 中间件添加。或者,您可以绕过模板引擎以获得更简单的响应,例如:
<code>export NODE_ENV=production</code>
无论您使用哪个模板引擎,始终确保启用了视图缓存:
<code>NODE_ENV=production node ./app.js</code>
与大多数基于服务器的应用程序不同,Node.js 应用程序永久运行。因此,您可以设置诸如数据库连接对象之类的常用变量一次,并在每个用户的每个请求期间重复使用它们。可以根据需要扩展此概念。一般来说,您可以缓存的常用项目越多,性能就越好。例如,假设您的基于 Express 的 CMS 应用程序在主页上显示了您最近五篇文章的链接。该列表可以生成并存储在一个变量中,并且仅在发布新文章时更新。
额外快速提示
想要更多?…
<code>npm install compression --save</code>
您是否有其他关于 Node.js 或 Express 的性能提示?我很乐意在评论中听到它们。
(此处应添加关于 Node.js 性能调整的常见问题的章节,内容与输入文本中提供的相同)
以上是5个简易性能调整node.js express的详细内容。更多信息请关注PHP中文网其他相关文章!