javascript – Node orm2:不调用orm.connect回调

我想试试 node orm2,用sqlite.我尝试了示例代码,并将MysqL更改为sqlite.看起来像这样:
var orm = require("orm");

orm.connect('sqlite://D:/orm_test/database.db',function (err,db) {

    // ...

});

我没有任何错误或警告.什么也没有发生完全没有调用回调函数.

它不起作用,即使我之前创建database.db

解决方法

根据文档,仅当连接成功(或不成功)完成时才调用回调…)
所以如果你的路径不正确(由于任何原因,你的连接不明确地不成功),也许没有回调?

如果直接听直接事件,可以避免回调:

var orm = require('orm');
var db = orm.connect('sqlite://D:/orm_test/database.db');
db.on('connect',function(err) {
  if (err) return console.error('Connection error: ' + err);
  // doSomething()...
});

连接网址如下:

driver://username:password@hostname/database?option=value

您可以使用调试选项将查询打印到控制台中,也许会有更多的信息?

编辑:
嗯,我只是试图使用它,并做到这一点:

// REQUIRES
var express = require('express');
var app = express();
var orm = require("orm");
var sqlite3 = require('sqlite3');

// SERVER CONfigURATION
var port = 5050;

// APP CONfigURATION
app.use(express.static('public'));
app.use('/static',express.static(__dirname + '/public'));
app.set('views',__dirname + '/views');

// ROUTES
app.get('/',function(req,res){
    orm.connect('sqlite://C:/Users/Me/Documents/Projects/test/database.db',function(err,db){
    console.log('connected to this db : ' + JSON.stringify(db));
    });
});

app.listen(port,function(){
    console.info('Server successfully started,listening on port ' + port);
});

它的工作原理… JSON.stringify显示控制台中DB Object的内容是什么.你的代码看起来像这样吗?

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...