无法从模块导出中获取变量
Unable to get variable from module exports
我有一个 connector.js 文件,我想使用它来导出 dbResult
对象。
(function(){
var Massive = require("massive");
var connectionString = "postgres://postgres:postgres@localhost/postgres";
var db = Massive.connectSync({connectionString : connectionString});
var dbResult ;
db.query("Select * from company", function (err, data) {
dbResult = data;
console.log(data);
});
})(module.exports);
现在我在另一个文件中尝试获取 dbResult 并显示数据:
var express = require("express");
var app = express();
var connectorObject = require("./Connector.js");
var Massive = require("massive");
app.get("/api/Steves",function(req,res){
res.set("Content-Type","application/json");
res.send(connectorObject.dbResult);
});
app.listen(3000);
console.log("Server Started on port 3000...");
但是当我启动 URL 时,看不到任何响应。
我是不是遗漏了什么。
您想要做的是 return 一个可以稍后计算结果的函数:
var Massive = require("massive");
var connectionString = "postgres://postgres:postgres@localhost/postgres";
var db = Massive.connectSync({connectionString : connectionString});
module.exports.getCompanies = function(callback) {
db.query("Select * from company", callback);
}
然后您可以从您的其他文件访问它:
var connector = require('./Connector');
connector.getCompanies(function( err, data ) {
if ( err ) return console.error( err );
console.log( data );
});
我有一个 connector.js 文件,我想使用它来导出 dbResult
对象。
(function(){
var Massive = require("massive");
var connectionString = "postgres://postgres:postgres@localhost/postgres";
var db = Massive.connectSync({connectionString : connectionString});
var dbResult ;
db.query("Select * from company", function (err, data) {
dbResult = data;
console.log(data);
});
})(module.exports);
现在我在另一个文件中尝试获取 dbResult 并显示数据:
var express = require("express");
var app = express();
var connectorObject = require("./Connector.js");
var Massive = require("massive");
app.get("/api/Steves",function(req,res){
res.set("Content-Type","application/json");
res.send(connectorObject.dbResult);
});
app.listen(3000);
console.log("Server Started on port 3000...");
但是当我启动 URL 时,看不到任何响应。
我是不是遗漏了什么。
您想要做的是 return 一个可以稍后计算结果的函数:
var Massive = require("massive");
var connectionString = "postgres://postgres:postgres@localhost/postgres";
var db = Massive.connectSync({connectionString : connectionString});
module.exports.getCompanies = function(callback) {
db.query("Select * from company", callback);
}
然后您可以从您的其他文件访问它:
var connector = require('./Connector');
connector.getCompanies(function( err, data ) {
if ( err ) return console.error( err );
console.log( data );
});