为什么我的Titanium构建应用程序找不到模块,即使它显然在那里?

时间:2013-08-14 10:57:09

标签: javascript module titanium directory-structure titanium-modules

我正在尝试使用我用GitHub下载的sculejs模块。根据提供的示例,似乎应该将com.scule.js文件放在与app.js相同的文件夹中。但最新版本的Titanium(我认为)不使用该结构。

以下是我添加到位于app / controllers下的index.js文件:

var scule  = require('com.scule.min');

这导致模拟器给我“应用程序错误找不到模块:com.scule.min。”

这是我的应用程序的文件夹系统的样子: folders

任何人都知道什么是错的?或者也许可以让我朝着正确的方向努力让它发挥作用?

由于

3 个答案:

答案 0 :(得分:0)

控制器目录中应该只有控制器。所以你应该删除除index.js以外的所有内容。

接下来,创建一个lib目录并将commonjs库放在那里。另外,从app目录中删除com.scule.min.js.

在Alloy中使用正确的directory structure非常重要。否则,您的文件将被忽略。

答案 1 :(得分:0)

使用此:

var scule  = require('/controllers/com.scule.min');

答案 2 :(得分:0)

这对你的需求来说可能有点迟了 - 但我想我还是会在这里给出答案,让别人看看。

看来你正在使用" Alloy"使用钛 - 这很好!我对Titanium相对较新,但我确信Alloy是在Titanium中构建应用程序的方法。

在Alloy中,您需要将所有CommonJS库放在" lib"与控制器,视图和样式处于同一级别的文件夹。如果该文件夹尚不存在,请创建该文件夹。

一旦你把com.scule.js(我使用的) - 或com.scule.min.js放在" lib"然后,您可以轻松地将其包含在其他模块中(例如,您的控制器或lib文件夹中的另一个库)。只需写下:

var scule = require('com.scule') // Basically, the file name without the last ".js"

我不知道您的问题是否与' com.scule.min.js'?有关。我没有尝试过 - 但是我使用了' com.scule.js'在我当前的应用程序中; - )

/约翰