Titanium:需要commonjs模块内的模块

时间:2012-07-10 07:34:50

标签: android ios module titanium commonjs

我发现我们可以创建CommonJS模块而不是本机模块或网络模块(查看您的Titanium文件夹并搜索ti.cloud模块)。但是我找不到解释它的文件......

所以,我尝试在Titanium文件夹“commonjs”中添加我自己的CommonJS模块,并使用“require”将其导入我的应用程序。它就像一个魅力。

现在,我想在我的CommonJS模块中添加一些其他文件,并使模块在模块内相互引用。

例如,在我的应用中,我有:

  • main.js
  • UI
    • CommonView.js

在这个结构中,main.js是我的主模块,并且有一个方法createCommonView()试图要求模块CommonView(require('。/ ui / CommonView'))但是编译器抱怨找不到模块

如何创建具有多个相互引用的模块的CommonJS模块?

确切地说,我不想在我的项目中复制这些模块。我想将它们保存在Titanium文件夹中,以便所有项目都可以使用。

1 个答案:

答案 0 :(得分:1)

以下是Appcelerator上关于CommonJS模块的博文:http://developer.appcelerator.com/blog/2011/12/commonjs-module-guide-for-1-8.html

以下是Appcelerator的指南/文档:https://wiki.appcelerator.org/display/guides/CommonJS+Modules+in+Titanium

现在,所有模块引用都与应用程序根相关:

  • 在app.js中,require('main');
  • 在main.js中,require('ui / CommonView')
  • 在CommonView.js中,require('ui / SpecificView')

打包的CommonJS模块(例如ti.cloud,安装在应用程序或Application Support的“modules”目录中)仅支持单个JavaScript文件。

提示:我只是在Google中输入“Appcelerator CommonJS”就找到了这些指南。我不确定你用什么方法找到文档。 Titanium Mobile文档中的“Global”对象中也广泛记录了“require”: http://docs.appcelerator.com/titanium/2.1/index.html#!/api/Global