[译]关于NODE_ENV,哪些你应该了解

原文

Node.js开发者经常检测环境变量NODE_ENV,但你是否知道设置这个值同时也具有着某些别的意义?阅读本文你将发现这些。

NODE_ENV是一个在Express框架中极其常用的环境变量。用其确定应用的运行环境(诸如开发,staging,生产,测试...)。

通常,应用将会运行在开发环境。我们可以通过改变process.env.NODE_ENV来改变环境。让我们来看看框架/库在不同环境下的表现。

开发环境

  • 显示更多日志

  • 不缓存视图

  • 生成较冗余的错误信息

  • js,css这类前端资源,不压缩不缓存

生产环境

以下是与框架无关的一些特点:

  • 中间件及其他依赖会被切换到更高效的代码路径

  • 只安装dependencies中的包,dependenciespeerDependencies的中包会被忽略

express.js

  • 缓存视图框架

  • 生成更简短的错误信息

  • 缓存资源文件

sailsjs

  • 可以使用CSRF

  • 压缩服务端响应(详见https://www.npmjs.com/package...)

  • 模块迁移的设置被强制定位'safe'。这可以保证在部署时不会破坏生产数据。

  • res.serverError()追踪错误信息与错误棧会被存在日志中而不是通过服务端响应返回。

mongoose

全局禁用autoIndex。这能显著提高性能(详见http://docs.mongodb.org/manua...)。

还有许多这里就不一一列出。如你所见,将NODE_ENV设为production能达到更好的性能。所以这个变量在全球Node开发者心中有如此重要的地位。你应该牢记“总是将NODE_ENV设为production”。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/281267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GatewayWorker Not Support On Windows.

thinkphp版本:5.1 tp5.1运行命令行php think worker:gateway出现GatewayWorker Not Support On Windows.是因为在tp5.1的命令行中做了判定,不支持windows环境下运行。 这里不支持windows环境并不是说gateway worker不支持windows,而是tp5.1的…

8支团队正在努力构建下一代Ethereum

“我们不想在构建 Ethereum 2.0时重新造轮子。” 谈到开发人员为 Ethereum 区块链进行两个独立的升级(一个称为 Ethereum 2.0,另一个称为 Ethereum 1x)所作出的补充努力,劳尔乔丹坚持认为,在较短的时间内将升级包括在 …

fastjson SerializerFeature详解

名称含义备注QuoteFieldNames输出key时是否使用双引号,默认为true UseSingleQuotes使用单引号而不是双引号,默认为false WriteMapNullValue是否输出值为null的字段,默认为false WriteEnumUsingToStringEnum输出name()或者original,默认为false UseISO8601DateFormatDate使用ISO…

费曼学习法中问题的提出与反问,扩展与主动查询的学习习惯训练过程

在2022年11月05日的对话中,九迁先讲了女娲补天和女娲造人的故事,女娲造人的故事还讲了两个版本的,随后提到了一个事情,那就是,如果你要找一个神仙一起度过一天,你想找谁,想做些什么?…

Fiddle:使用断点:bpu,bpafter

http://www.cnblogs.com/yoyoketang/p/6778006.html转载于:https://www.cnblogs.com/peixianping/p/7230021.html

windows环境下TP5.1使用think-worker(Workerman/GatewayWorker)

文章目录首先是解决如何运行gatewayworker调试gatewayworker程序向指定客户端发送消息在TP框架中调用Gateway的API总结说明测试环境 windows10;PHP7.2;TP5.1; 这里只介绍如何使用TP集成的workerman扩展库think-worker,原生workerm…

webpack之DefinePlugin使用

DefinePlugin是webpack注入全局变量的插件,通常使用该插件来判别代码运行的环境变量。在使用该插件需要注意的是,如果在该插件配置了相关的参数,必须要源码中使用,webpack才会注入。例如: new webpack.DefinePlugin({p…

Magicodes.IE 2.7.0发布

2.7.02022.11.07使用SkiaSharp替代SixLabors.ImageSharp移除SixLabors.Fonts感谢linch90的大力支持(具体见pr#462)部分方法改为虚方法2.7.0-beta2022.10.27使用SixLabors.ImageSharp替代System.Drawing,感谢linch90 (见pr#454&…

Mobx 与 Redux 的性能对比

在本文中你将看到我最终得出的结论是 Mobx 的性能优于 Redux。但很明显这样的结论是片面的,甚至是有失偏颇的,因为我只选取了一个的场景对两者进行测试。可能真实的情况恰恰相反,Mobx 仅仅在我测试的这个场景中优于 Redux,但是在我…

linux lsof/netstat查看进程和端口号相关命令:

本文为博主原创,未经允许不得转载: 在linux操作时,经常要查看运行的项目的进程和端口号,在这里总结了以下常用到的相关命令: 1.查看系统运行的java项目,并查看进程号 这个用到的命令为: ps -ef|…

C#高级编程9 第17章 使用VS2013-C#特性

C#高级编程9 第17章 使用VS2013 编辑定位到 如果默认勾选了这项,请去掉勾选,因为勾选之后解决方案的目录会根据当前文件选中。 可以设置项目并行生成数 版本控制软件设置 所有文本编辑器行号显示 启用编辑继续 收集调试信息,将影响性能 Code …

还在手画C#依赖关系图吗?快来试试这个工具吧!

还在手画C#依赖关系图吗?快来试试这个工具吧!笔者最近见到了一个不错的工具,可以让大家在看代码的时候一键生成C#依赖的类图。非常适合编写文档、查看和学习开源项目设计时使用,比如下方就是笔者通过这个工具生成的Microsoft.Exte…

Web服务器 - Apache配置介绍

基本语法 常量的定义与使用,使用关键词 Define 可以定义常量,使用 ${} 插入常量,如下 语法规则说明示列Define定义常量Define SRVROOT “D:/srv/Apache24”${}使用常量ServerRoot “${SRVROOT}”/表示路径时使用 / 而不使用 \D:/srv/Apache…

点火开关分为4个档位,分别是off,acc,IG-on,和ST

off全车除了常火(如应急灯,时钟等的记忆功能)外,均不供电。acc 是附件档,部分车载附属设备供电,如视听系统,仪表灯,灯光等。也就是说,车停在哪里,发动机不转&…

h5的formData 上传文件及.net后台

先来前端的代码&#xff1a; html 代码&#xff1a; <input type"file" id"files" value"" multiple/> js代码&#xff1a; function init() {var ele_files document.querySelector("#files");ele_files.addEventListener(&qu…

51 Nod 1027 大数乘法【Java大数乱搞】

1027 大数乘法 基准时间限制&#xff1a;1 秒 空间限制&#xff1a;131072 KB 分值: 0 难度&#xff1a;基础题 给出2个大整数A,B&#xff0c;计算A*B的结果。Input第1行&#xff1a;大数A 第2行&#xff1a;大数B (A,B的长度 < 1000&#xff0c;A,B > 0&#xff09; Out…

关于ASP.NET Core WebSocket实现集群的思考

前言提到WebSocket相信大家都听说过&#xff0c;它的初衷是为了解决客户端浏览器与服务端进行双向通信&#xff0c;是在单个TCP连接上进行全双工通讯的协议。在没有WebSocket之前只能通过浏览器到服务端的请求应答模式比如轮询&#xff0c;来实现服务端的变更响应到客户端&…

windows环境下Apache+PHP+MySQL搭建服务器

相关文件下载 下载地址Apachehttps://www.apachehaus.com/cgi-bin/download.plxPHPhttps://windows.php.net/downloadMySQLhttps://dev.mysql.com/downloads/mysql/MySQL MySQL配置 当前使用的MySQL版本是8.0.18&#xff0c;在MySQL根目录下新建my.ini文件&#xff0c;下面是…

angular.js国际化模块

最近需要将一个项目转化成英文的&#xff0c; 于是发现一个angular模块angular-translate&#xff0c;实现如下&#xff1a; 1.安装包 bower install angular-translate bower install angular-translate-loader-static-files //然后在页面引用进去 <script src"/angul…

触屏网站如何实现返回并刷新

目的 在会员中心等页面常常会遇到进入内页修改信息&#xff0c;返回前一个页面需要更新信息的场景。 思路 用COOKIE记录当前页面是否需要刷新&#xff0c;返回之后再刷新一次页面。 方案 下载js.cookie.js然后引入到项目中 https://github.com/js-cookie/js-cookie 先来一个最简…