嘿所以我试图让Nodejs Koa使用Koa-pg模块与postgres交谈,但我不断收到'找不到模块pg'的错误。 我已经尝试过跟随koa-pg的例子了,但是已经做了简短的...所以任何有关如何进步的建议都会受到赞赏。
如果按以下方式创建我的app.js文件:
var koa = require('koa');
var route = require('koa-route');
var koaPg = require('koa-pg');
var roads = require('./controllers/roads');
var app = module.exports = koa();
app.use(route.get('/roads/bbox/', roads.bbox));
app.listen(3000);
console.log('listening on port 3000');
然后按如下方式创建我的控制器文件:
var credentials = require('../credentials.js');
var environment = credentials.dev;
app.use(koaPg('postgres://' + environment.user + '@' + environment.host + ':' + environment.port + '/' + environment.database))
module.exports.bbox = function * bbox(next) {
var result = yield this.koaPg.db.client.queryPromise('SELECT now()')
console.log('result: ', result)
this.body = result.rows[0].now.toISOString()
};
但我收到以下错误:
module.js:338
throw err;
^
Error: Cannot find module 'pg'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Module.require (module.js:365:17)
at require (module.js:384:17)
at Object.<anonymous> (c:\Users\User\Documents\restful_koa\node_modul
es\koa-pg\index.js:12:27)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Module.require (module.js:365:17)
这只是个人项目,但我很想知道我哪里出错了。 干杯
答案 0 :(得分:1)
如评论中所述:
如果要将pg
模块保存到npm install pg
,则需要通过npm install pg --save
或package.json
安装。
您需要执行此操作的原因是koa-pg
将co-pg
作为依赖项,因此在安装前者时,也会安装后者。但pg
不是co-pg
的依赖项,这就是您必须单独安装它的原因。