如何在Appcelerator中使用正确的MySQL nodejs模块?

时间:2016-05-31 15:22:16

标签: javascript android sqlite appcelerator appcelerator-titanium

我使用带有Samsung A5的Windows 8.1下的Appcelerator Studio。现在我想使用mysql nodejs modul。我在网上反复将mysql副本的目录复制到我的Resources目录下。 所以,我的文件夹看起来像这样:

Projectname
+-- Resources
    +-- android
    +-- mysql
    |   +-- lib
    |   |   +--- ...
    |   +-- node_modules
    |   |   +--- ...
    |    \- index.js
     \- app.js

这是我的app.js:

    var mysql = require('mysql');
    var connection = mysql.createConnection({
      host: 'domain',
      user: 'user',
      password: 'password',
      database: 'database'
    });

    connection.connect(function (err) {
        if (err) {
            alert("Error on mysql connect: " + err.stack);
            return;
        }
    });

    alert("Mysql connect is correct.");

    connection.end();

该项目安装在Samsung上,但在启动时抛出错误:找不到mysql模块。

出了什么问题。 拜托,帮助我!

感谢您的帮助,对不起我的英语!

1 个答案:

答案 0 :(得分:2)

在Titanium的iOS / Android上没有MySQL这样的东西。那里的数据库是SQLite。您可以在documentation of Appcelerator中了解SQLite。

它也不是一个模块,而是一个good old API。示例(来自文档)

var db = Ti.Database.open('TiBountyHunter');
db.execute('CREATE TABLE IF NOT EXISTS fugitives(id INTEGER PRIMARY KEY, name TEXT, captured INTEGER, url TEXT, capturedLat REAL, capturedLong REAL);');
db.close();

如果您有一个名为mysql的模块,则应将其放在lib文件夹中以使其正常工作。但是,如果它具有Node依赖性,则可能很难。然后,您可以使用Titaniumifier