ExpressJS:'pg'(postgres驱动程序)没有在routes / events.js上定义,但它位于routes / index.js文件中

时间:2016-05-29 22:10:40

标签: node.js express

我使用了快速生成器插件,并且我已经在 routes / index.js 上生成了所有路由,但我现在正在进行重构,并且我将所有路由分别放入其中路由器文件。问题是如果我把我的代码放在index.js上,'pg'模块就可以了。

index.js

var express = require('express');
var router = express.Router();
var pg = require('pg');
var connectionString = 'postgres://postgres:postgres@localhost:5432/dataDB';

router.use('/api/events', require('./events'))

/* GET home page. */
router.get('/', function(req, res, next) {
  res.render('index', { title: 'Express' });
});


module.exports = router;

现在,如果我从 routes / events.js 文件请求路线,我会得到'pg'(postgres驱动程序)未定义

var express = require('express');
var router = express.Router();
var pg = require('pg');
var connectionString = 'postgres://postgres:postgres@localhost:5432/dataDB';


//get all events from a user
router.get('/user/id/:id_user', function(req, res) {
.....
});


router.post('/friends/', function(req, res) {

........     });

module.exports = router

app.js只包含router / index.js文件......我怎么解决这个问题?请求正确地到达router / events.js文件,但它只是没有识别'pg'模块需要......非常感谢

1 个答案:

答案 0 :(得分:0)

问题是我包括

   var pg = require('pg');
路由/ index.js和routes / events.js

中的

我从index.js中删除了该行,并将其保留在event.js中,现在它完美无缺。无论如何,这需要进入模型层,但是现在我修复了它,我想知道为什么在一个脚本上需要某些内容然后在另一个脚本上需要某些内容时,由于我在两个文件中都包含了express和router那两行并没有失败但是上面提到的那条线确实......