У меня есть очень большое приложение Appcelerator Titanium с более чем 100 файлами Javascript, «включенными» в мой основной app.js:
Ti.include(
'source/myApp.js',
'source/license.js',
'source/libs/Gibberish-AES.js', 'source/libs/myTools.js', 'source/libs/ui.js',
'source/libs/fileViewer.js','source/libs/dropDown.js','source/libs/datePicker.js', 'source/libs/fileViewer.js',
'source/obj/dropbox.js','source/obj/cfg.js','source/obj/db.js','source/obj/hphone.js','source/obj/people.js','source/obj/testTA.js','source/obj/testEP.js', 'source/obj/testSA.js',
'source/agramm/agramm.js','source/agramm/agrammSave.js','source/agramm/agrammSave2.js','source/agramm/agrammAuto.js',
'source/agramm/agrammLoad.js','source/agramm/agrammLoad2.js', 'source/agramm/agrammCustomer.js', 'source/agramm/agrammReport.js',
'source/agramm/testCommon.js',
'source/vocal/vocal.js',
'source/earprot/earprot.js',
'source/configure/setup.js',
'source/configure/people/peopleHome.js', 'source/configure/people/peopleTests.js', 'source/configure/people/peopleTest.js', 'source/configure/people/peopleEdit.js','source/configure/people/peopleCompare.js',
'source/configure/hphone/hphoneHome.js', 'source/configure/hphone/hphoneEdit.js', 'source/configure/hphone/hphoneCalibration.js', 'source/configure/hphone/hphoneCalibHelp.js', 'source/configure/hphone/hphoneCalibDefault.js',
'source/configure/baseConfig/baseConfigHome.js','source/configure/baseConfig/baseConfigCompanyInfo.js',
'source/configure/dataManage/dataManageHome.js',
'source/configure/information/informationHome.js','source/configure/information/informationTranslate.js','source/configure/information/informationHelp.js','source/configure/information/informationDebug.js'
);
Каждый из этих файлов Javascript имеет следующую структуру:
informationHome={
bAutoPlay:false, // Flag for auto-audiogram
aiAutoFrequencies:[], // sequence of frequencies index to play
iAutoNumFrequencies:0, // Number of frequencies to play (1 to 11)
iAutoFrequencyIndex:0, // Frequency array index
};
informationHome.buildUI = function() {
informationHome.win= new Window({
isTopToolbar:true,
title:I('Information'),
name:'informationHome',
isBottomToolbar:false,
backgroundImage:myApp.theme.bgImageDetailIpad,
});
var backBtn = new Button({
title:I('Back'),
style:'toolbar',
width:90,
image:'/images/toolBarIcons/Wht_Back.png',
clickEvent:function(e){
informationHome.win.close(true);
},
});
informationHome.win.leftNavButton(backBtn.view);
informationHome.show = function() {
informationHome.buildUI();
informationHome.fillTable();
informationHome.win.open(true);
};
Для этого, когда мне нужно использовать функции этого модуля, я просто вызываю
informationHome.Show()
Теперь случается, что из Titanium SDK 6.3.0 оператор "include" устарел в пользу CommonJS,Я прочитал все о CommonnJS, но нашел только пример, который вызывает «серьезные» изменения во всех этих 100 javascripts и приводит к путанице ошибок регрессии.
Id есть любой простой способ оставить 100 javascripts без измененийминимальные изменения, которые позволяют мне использовать любые переменные функции, определенные внутри, избегая того, чтобы я указывал явно одну для экспорта и так далее?
Спасибо за любую предоставленную помощь.