2012-05-30 7 views
3

Для клиента мне нужно создать собственное приложение, используя Sencha Touch и Cordova.Как создать приложение sencha с помощью Cordova/PhoneGap

Для производительности я использую команду «пакет сборки приложений sencha» из SDK Tools для миниатюрного источника javascript.

Нет проблем, если я использую Sencha для разработки и Corova для просмотра в Интернете. Но мне нужно использовать функции Кордовы (например, FileSystem, ...), которые я не могу сделать с Sencha.

Проблема в том, что когда я использую «пакет сборки приложений sencha», у меня есть ошибки, такие как [ERROR] ReferenceError: Can't find variable: fileSystem.

Я прочитал много сообщений, которые рассказывают о Sencha + Cordova, но ни один из них не говорит о сборке/мини-источнике с Cordova + Sencha.

Есть ли кто-нибудь, кто столкнулся с этой проблемой и как вы ее решили?

С наилучшими пожеланиями

ОБНОВЛЕНИЕ 05/31/2012

Я использую файл с именем CordovaFunctions.js для каждого методов, которые необходимы для доступа к переменным Cordova, и мои app.js и другие Просмотр/контроллер вызова методов в CordovaFunctions.js ...

Вот мой app.json:

{ 
/** 
* The application's namespace, used by Sencha Command to generate classes 
*/ 
"name": "ImageDownloader", 

/** 
* The file path to this application's front HTML document, relative to this app.json file 
*/ 
"indexHtmlPath": "index.html", 

/** 
* The absolute URL to this application in development environment, i.e: the URL to run this application 
* on your web browser during development, e.g: "http://localhost/myapp/index.html". 
* 
* This value is needed when build to resolve your application's dependencies if it requires server-side resources 
* that are not accessible via file system protocol. 
*/ 
"url": null, 

/** 
* List of all JavaScript assets in the right execution order. 
* Each item is an object with the following format: 
*  { 
*   "path": "path/to/script.js" // Relative path to this app.json file 
*   "update": "delta"   // (Optional) 
*          // - If not specified, this file will only be loaded once, and 
*          // cached inside localStorage until this value is changed. 
*          // - "delta" to enable over-the-air delta update for this file 
*          // - "full" means full update will be made when this file changes 
* 
*  } 
*/ 
"js": [ 

    { 
     "path": "cordova-1.7.0.js" 
    },/* 
    { 
     "path": "CordovaFunctions.js" 
    },*/ 
    { 
     "path": "sdk/sencha-touch.js" 
    } 
    , 
    { 
     "path": "app.js", 
     "bundle": true, // Indicates that all class dependencies are concatenated into this file when build 
     "update": "delta" 
    } 
], 

/** 
* List of all CSS assets in the right inclusion order. 
* Each item is an object with the following format: 
*  { 
*   "path": "path/to/item.css" // Relative path to this app.json file 
*   "update": "delta"   // (Optional) 
*          // - If not specified, this file will only be loaded once, and 
*          // cached inside localStorage until this value is changed to either one below 
*          // - "delta" to enable over-the-air delta update for this file 
*          // - "full" means full update will be made when this file changes 
* 
*  } 
*/ 
"css": [ 
    { 
     "path": "resources/css/app.css", 
     "update": "delta" 
    } 
], 

/** 
* Used to automatically generate cache.manifest (HTML 5 application cache manifest) file when you build 
*/ 
"appCache": { 
    /** 
    * List of items in the CACHE MANIFEST section 
    */ 
    "cache": [ 
     "index.html" 
    ], 
    /** 
    * List of items in the NETWORK section 
    */ 
    "network": [ 
     "*" 
    ], 
    /** 
    * List of items in the FALLBACK section 
    */ 
    "fallback": [] 
}, 

/** 
* Extra resources to be copied along when build 
*/ 
"resources": [ 
    "resources/images", 
    "resources/icons", 
    "resources/startup" 
], 

/** 
* File/directory name matchers to ignore when copying to the builds, must be valid regular expressions 
*/ 
"ignore": [ 
    "\.svn$" 
], 

/** 
* Directory path to store all previous production builds. Note that the content generated inside this directory 
* must be kept intact for proper generation of deltas between updates 
*/ 
"archivePath": "archive", 

/** 
* Default paths to build this application to for each environment 
*/ 
"buildPaths": { 
    "testing": "build/testing", 
    "production": "build/production", 
    "package": "build/package", 
    "native": "build/native" 
}, 

/** 
* Build options 
*/ 
"buildOptions": { 
    "product": "touch", 
    "minVersion": 3, 
    "debug": false, 
    "logger": "no" 
}, 

/** 
* Uniquely generated id for this application, used as prefix for localStorage keys. 
* Normally you should never change this value. 
*/ 
"id": "dfbad430-a63b-11e1-a218-a1757e9a8324" 
} 

ответ

0

В конфигурационном файле app.json вам нужно сообщить команде Sencha build, что для вашего приложения требуется библиотека phoneGap. Добавьте его в узел ЯШ:

/** 
* List of all JavaScript assets in the right execution order. 
* Each item is an object with the following format: 
*  { 
*   "path": "path/to/script.js" // Relative path to this app.json file 
*   "update": "delta"   // (Optional) 
*          // - If not specified, this file will only be loaded once, and 
*          // cached inside localStorage until this value is changed. 
*          // - "delta" to enable over-the-air delta update for this file 
*          // - "full" means full update will be made when this file changes 
* 
*  } 
*/ 
"js": [ 
    { 
     "path": "sdk/sencha-touch.js" 
    }, 
    { 
     "path": "cordova-1.5.0.js" 
    }, 
    { 
     "path": "app.js", 
     "bundle": true, /* Indicates that all class dependencies are concatenated into this file when build */ 
     "update": "delta" 
    } 
], 
+0

Я ценю ваши усилия, но я уже сделал это, и потому что я использовал файл под названием CaordvaFunctions.js между Кордовой и сенчем, она does'nt работы: '[ERROR] ReferenceError : Не удается найти переменную: fileSystem'. Я обновляю свой пост с содержимым моего приложения. Json –

Смежные вопросы