我想要的只是在服务器启动时在主文件(main.js)中进行 1 次配置......并在不同的文件(conn1.js,conn2.js)中多次使用该类的方法......
我正在制作一个在使用“使用严格”时不起作用的 npm 模块。但是如果我在删除“使用严格”的同时使用全局变量,它工作正常..
我已经定义了一个这样的类..
index.js
'use strict';
var pg = require('pg'),_ = require('lodash');
function PgAdaptor(options) {
options = options || {};
options.user = options.user ;
options.password = options.password ;
options.host = options.host || "localhost";
options.port = options.port || 5432;
options.database = options.database || 'postgres';
this.connectionString = "postgres://"+options.user+":"+options.password+"@"+options.host+":"+options.port+"/"+options.database;
this.options = options;
this.getConnection = function (callback) {
console.log("Establishing connection with postgre");
pg.connect(this.connectionString, callback);
}
}
_.extend(PgAdaptor.prototype, {
getCon : function(callback){
this.getConnection(function(error, result) {
if (error) {
console.log("Error in connection : " + error);
callback(error);
} else {
console.log("Got connection for executing query");
callback(null, result);
}
});
}
})
function pgadaptor (options) {
return new PgAdaptor(options);
}
module.exports = pgadaptor;
现在我在我的主文件中使用上面的类,就像这样......
main.js
'use strict';
pgadaptor = require('pgadaptor')({
user : "postgres",
password : "passpass",
database : "test"
});
我只想配置这个主文件一次。我想在许多文件中使用getCon方法。
conn1.js
'use strict';
require('pgadaptor').getCon(function(err,res){
if(err){
console.log("ERROR!!")
}
console.log("SUCCESS!!")
})
conn2.js
'use strict';
require('pgadaptor').getCon(function(err,res){
if(err){
console.log("ERROR!!")
}
console.log("SUCCESS!!")
})
这是在 npm 模块中制作类结构的正确方法吗?