mur*_*lai 24 require mongoose node.js
所以,我不确定的是.如果在ModuleA中,我有:
var mongoose = require('mongoose');
mongoose.connect(pathA);
Run Code Online (Sandbox Code Playgroud)
在ModuleB中,我有:
var mongoose = require('mongoose');
mongoose.connect(pathB);
Run Code Online (Sandbox Code Playgroud)
在主程序中,我有:
var mA = require('./moduleA.js'),
mB = require('./moduleB.js');
Run Code Online (Sandbox Code Playgroud)
所以,当我运行主程序时,我想我会创建两个猫鼬"实例"; 一个连接到pathA,一个连接到pathB,是吗?
另外,在模块B中,在连接到pathB之前,它是否连接到pathA或什么都没有?
谢谢.
mur*_*lai 16
我刚用最新的节点V0.4.6进行了几次测试.我确认了以下内容:
所以,我的意思是上述第1点和第2点是:
如果你有模块大师:
var myStr = 'ABC';
module.exports.appendStr = function(data) {
myStr += ' ' + data;
};
module.exports.output = function() {
console.log("Output: " + myStr);
};
Run Code Online (Sandbox Code Playgroud)
如果你有另外两个模块:
模块A.
var mc = require('./moduleMaster.js');
var ma = function() {mc.appendStr(' MA '); };
ma.prototype.output = function() {
mc.output();
}
module.exports.create = function() {
return new ma();
};
module.exports._class = ma;
Run Code Online (Sandbox Code Playgroud)
模块B.
var mc = require('./moduleMaster.js');
var mb = function() {mc.appendStr(' MB '); };
ma.prototype.output = function() {
mc.output();
}
module.exports.create = function() {
return new mb();
};
module.exports._class = mb;
Run Code Online (Sandbox Code Playgroud)
现在,当您运行需要模块A和模块B的测试脚本时,实例化它们并输出:
mTestA.output();
mTestB.output();
Run Code Online (Sandbox Code Playgroud)
您将获得以下输出:
ABC MA
ABC MA MB
Run Code Online (Sandbox Code Playgroud)
代替
ABC MA
ABC MB
Run Code Online (Sandbox Code Playgroud)
因此,它是一个单身人士.不仅仅是本地模块.
归档时间: |
|
查看次数: |
14070 次 |
最近记录: |