我是Javascript和nodejs的新手。我正在使用expressjs开发一个nodejs应用程序。我正在尝试做两件事: -
要解决第一项,我正在考虑编写自己的自定义装载程序。我仍然可以使用“require”从文件系统加载第三方模块,使用“myRequire”从数据库加载我自己的模块,如下所示: -
var myDb = require('mydb');
var user = myRequire('/alocation/user')(myDb);
我不知道“myRequire”里面的代码是什么样的,并且很难找到例子。有什么例子吗?
对于第二项,我显然可以编写自己的模块来读取/写入数据库的内容,但如何将其集成到nodejs / express框架中?也就是说,例如,res.render('user')
将从数据库而不是文件系统加载?
我想我可以进行自己的模板处理来获取字符串并调用res.send(processedTemplateString)
但是利用快递会很好。
一个(极端)解决方案是重载'fs'模块,以便捕获并重定向所有文件系统操作以读/写数据库。这也可以重定向“require”从数据库加载,我也可以利用它对我自己的模块的缓存。但由于'fs'是内置的,我甚至不知道我是否可以这样做(或者想要这样做 - 听起来很危险)。