我的 Nodejs 应用程序遇到了问题。我有两个不同的应用程序正在使用共享库,它们的位置是为了在 node_modules 中找到上一层。所以我有这个结构./app1/app.js
,./app2/app.js
并且./node_modules/shared.libs/index.js
。
shared.libs
依次安装了一些其他模块,如猫鼬、redis 等。加上一些带有附加功能的 mogoose 模型。所有都是这样导出的index.js
:
exports.async = require('async');
exports.config = require('./config');
exports.utils = require('./lib/utils');
然后在应用程序中我像这样导入它们:
var libs = require('shared.libs');
var config = libs.config;
因此,在此代码之后,我可以使用config
来自该共享库的代码。这部分过去和现在都很好。但是现在我需要在这个库之上添加额外的层(阅读:为两个应用程序提供更统一的接口)。我试图做的是将一些函数添加到index.js
共享库中,然后使用这些函数导出整个对象。但是,每当我尝试调用以前导入的(按var libs = require('shared.libs');
)对象时,它都会说libs
未定义。
我在这里做错了什么?
我通常希望保持其他代码相同,因此我不需要require
到处更换零件,但同时提供来自共享库的附加功能,这些功能可从该导入的libs
对象中获得。