«Простой» способ удалить оператор «include» в Titanium - PullRequest
0 голосов
/ 01 января 2019

У меня есть очень большое приложение 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 без измененийминимальные изменения, которые позволяют мне использовать любые переменные функции, определенные внутри, избегая того, чтобы я указывал явно одну для экспорта и так далее?

Спасибо за любую предоставленную помощь.

...