Javascript:在Appcelerator Titanium中使用require

mkn*_*mkn -3 javascript titanium appcelerator titanium-mobile

我对javascript很新,我正在努力解决一个简单的问题.我必须将代码分成单独的文件.作为一个例子,我有一个名为Database.js的文件.在该文件中,我有以下几行:

function Database(){
    //someStuff
    this.fetchAll = function(){
        //some stuff
        return something;
    }
}
Run Code Online (Sandbox Code Playgroud)

现在我想在app.js文件中使用Database.js代码.所以我在app.js中编写以下代码:

var Database = require('Database');
var myDB = new Database();
var result = myDB.fetchAll();
Run Code Online (Sandbox Code Playgroud)

但是,我得到了错误 Script Error = '[object Database]' is not a constructor (evaluating 'new Database()') at app.js (line 3).

我的错是什么?

Ana*_*and 5

在开始开发之前,您需要彻底了解Titanium中的CommonJS模块.那么对你来说会更简单.另请参阅require函数

让我们来看看你的错误.[ERROR] [object Database]' is not a constructor (evaluating 'new Database()') at app.js (line 3)意味着您创建的模块不是构造函数.您的构造函数可能不会返回任何值.阅读CommonJS模块的简单用法.我相信它会解决你的问题.

还有另一种方法,您可以在app.js中包含Database.js文件.您不需要返回任何内容,也不需要使用require函数.您只需要使用include方法.只需Ti.include('Database.js');在app.js中编写,就可以访问Database.js文件中的所有全局变量和函数