我已经开始研究Appcelerator 1.8.0了几天又回来了,我对Ti.include和require有点困惑。据我所知,Ti.include用于在另一个文件中包含js文件的内容,而require用于使用导出公开api。我无法理解的是,如果需要导出可以用来获取公共API,你真的需要包括吗?基本上我试图了解包含和要求之间的不同?
答案 0 :(得分:8)
Ti.require使用CommonJS规范。虽然通过Ti.require访问的文件可以访问Ti命名空间,但是它们无法访问Global命名空间 - 您在主程序中声明的任何变量或函数。 Ti.include文件可以访问全局空间,可以修改或添加它。 Ti.require是首选,但并不总是实用。有关Ti.require函数的信息,请参阅https://wiki.appcelerator.org/display/guides/CommonJS+Modules+in+Titanium;有关更多最佳做法,请参阅https://wiki.appcelerator.org/display/guides/Mobile+Best+Practices。
答案 1 :(得分:0)
如果我们在应用程序中导出某些内容时使用了基本上的require,而include用作其名称,建议包含js文件的内容。 如果你使用include in alloy / controllers / file1.js之类的 Ti.include('data.js')//指合金/控制器/ data.js require('data')//可以是合金/ app / lib或合金/ app / assets
注意:使用INCLUDE时需要.js扩展名,在使用REQUIRE时不需要。