我需要一个mongoose模型或者直接从mongoose那里得到它
我有一个模型在文件models/Model.js
是这样的:
const mongoose = require('mongoose') const modelSchema = mongoose.Schema({ name: String }) const Model = mongoose.model('Model', modelSchema) module.exports = Model
然后,当我使用它,我像任何其他模块导入它:
const Model = require('../models/Model')
我的问题是:如果每次我require
一个模块的代码执行(在这种情况下,它会“运行”每次我导入Model.js
),是否更有效率(或至less更有意义)导入它喜欢这个?:
const mongoose = require('mongoose') const Model = mongoose.model('Model')
你的问题包含一个错误的假设:
如果每次我需要一个模块的代码执行(在这种情况下,它会“运行”每次我导入Model.js)…
Model.js中的代码只在第一次运行时被调用来加载该模块。 然后将生成的模块对象放在require.cache
,然后对同一模块的后续require
调用只需从caching中返回相同的模块对象。
所以这两种方法之间没有明显的性能差异,这取决于你的个人喜好。