1

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

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

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

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

  • main.js
  • 用户界面
    • CommonView.js

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

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

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

4

1 回答 1

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 中,需要('main');
  • 在 main.js 中,需要('ui/CommonView')
  • 在 CommonView.js 中,需要('ui/SpecificView')

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

提示:我只需在 Google 中输入“Appcelerator CommonJS”即可找到这些指南。我不确定您使用什么方法来查找文档。Titanium Mobile 文档的“全局”对象中也大量记录了“要求”: http ://docs.appcelerator.com/titanium/2.1/index.html#!/api/Global

于 2012-07-10T14:33:43.660 回答