在node应用中多次初始化express函数会影响它的性能吗?



假设nodejs应用中有两个文件分别是index.js和users.js

index.js示例代码:

var express = require('express');
var app = express(); 
var winston = require('winston');
....
var signup=require('./apis/users.js');
app.use('/apis/signup',signup);

users.js示例代码

var express = require('express');
var winston = require('winston');
....

现在我们在应用程序中包含express和winston两次,这是否会影响我的应用程序性能。如果我说只需要包含温斯顿一次,并在应用程序中到处使用相同的对象,正确的方法是什么?在这种情况下,我们应该怎么做?

require在第一次加载后缓存值。如果你试着去取同样,它返回缓存对象。

你的回答:不影响性能。

另外

:

无论如何都可以如果不想要相同的值,请从require缓存中删除该值对象在第一次加载后再次出现:Node.js require()缓存-可能无效?

Node js以以下方式使用require模块的缓存副本:

  1. 止回阀模块。

  2. 如果缓存为空,创建一个新的Module实例

  3. 保存到缓存

  4. 使用指定的文件名调用module.load()。这将在读取文件内容后调用module.compile()。

  5. 如果加载/解析文件出错,从缓存中删除坏模块

  6. module.exports返回。

下面的文章将帮助您更好地理解module和require函数是如何工作的。链接

最新更新