Javascript 在nodeJs中使用require的最佳方法
我需要知道开发者在nodeJS开发中使用的这两种方法之间的区别,以包括一个模块Javascript 在nodeJs中使用require的最佳方法,javascript,node.js,express,dependency-injection,node-modules,Javascript,Node.js,Express,Dependency Injection,Node Modules,我需要知道开发者在nodeJS开发中使用的这两种方法之间的区别,以包括一个模块 第一种方法(通过导入一次模块在应用程序中传递,并通过作为参数传递或将其作为属性绑定到应用程序来使用模块) Server.js(应用程序入口点) routes.js(将预导入的模块传递给不同文件中的控制器) ctrl1.js(终点1控制器) ctrl2.js(终点2控制器) 2.第二种方法(每个控制器导入模块) Server.js(应用程序入口点) routes.js(在控制器中导入模块) ctrl1.js(终点1控制
在尺寸和性能方面的差异可以忽略不计
第二种方法比较简单,我认为它是最好的,除非你需要把不同的模块注入到同一种控制器类型中,例如用模型类型
Hi @乔纳斯参数化的通用CRUD控制器,第二种方法占用更多的内存空间,然后第一个?我不明白为什么会这样,因为我们在不同的文件中包含了相同的模块,它不是要通过多次包含来扩展应用程序运行时内存需求,还是只在模块上加载一次?不,节点模块缓存将确保每个模块只加载一次。谢谢@Jonaslet app = require('express').express();
let Router = require("./routes");
let SomeModule = require("./some-module");
.....
.....
Router.mountAPI("/api", app, SomeModule);
.....
....
let Ctrl1fun = require("./ctrl1");
let Ctrl2fun = require("./ctrl2");
exports.mountAPI = function(mount, app, SomeModuleToUseInController) {
app.use(mount + '/endpoint1', Ctrl1fun(SomeModuleToUseInController));
app.use(mount + '/endpoint2', Ctrl2fun(SomeModuleToUseInController));
};
module.exports = function(SomeModule) {
....
....
//using SomeModule
}
// This file may contain some other controller function for simplicity i took only one
module.exports = function(SomeModule) {
....
....
//using SomeModule
}
// This file may contain some other controller function for simplicity i took only one
let app = require('express').express();
let Router = require("./routes");
.....
.....
Router.mountAPI("/api", app);
.....
....
let Ctrl1fun = require("./ctrl1");
let Ctrl2fun = require("./ctrl2");
exports.mountAPI = function(mount, app) {
app.use(mount + '/endpoint1', Ctrl1fun());
app.use(mount + '/endpoint2', Ctrl2fun());
};
let SomeModule = require("./some-module");
module.exports = function() {
....
....
//using SomeModule
}
// This file may contain some other controller function for simplicity i took only one
let SomeModule = require("./some-module");
module.exports = function() {
....
....
//using SomeModule
}
// This file may contain some other controller function for simplicity i took only one