1

我有一个我正在 Sencha Touch 2 中构建的应用程序,然后打包到 android 中。我想要包含的是一个“defines.js”文件,其中包含我所有的变量。(此应用程序将针对不同的人进行更改,因此这使更改变得更容易)

通过将脚本链接添加到 index.html 文件,我让它在浏览器上正常工作,但是当我将它打包并在 android 模拟器上运行时,它找不到变量。

有任何想法吗?询问您是否需要更多信息。

目前该文件位于“resources/defines.js”下

编辑:

我想包含一个包含在应用程序中使用的变量的文件(标题等)

它被称为“defines.js”。

我已使用以下脚本标记将其链接到 index.html 中:

<script type="text/javascript" src="resources/defines.js"></script>

我还添加到 app.json 的 to js 部分:

"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"
    },
    {
        "path": "resources/defines.js"
    }
],

它可以在浏览器中使用,但在我创建本机 android 应用程序时无法使用。

4

2 回答 2

1

您可以尝试更“煎茶”的方式。

首先,删除:

<script type="text/javascript" src="resources/defines.js"></script>

并删除 app.json 上的条目:

{
    "path": "resources/defines.js"
}

然后,在你的 app.js 中添加加载器的资源路径:

Ext.Loader.setPath({
    ....
    'Resources': 'resources'
});

要求类:

Ext.application({
    ...
    requires: [
        'Resources.defines',
        ...
    ]
    ....
});

在文件 resources/defines.js 中定义类:

Ext.define('MyApp.resources.defines', {
    alternateClassName: 'Defines',
    singleton: true,

    BASEURL: 'localhost/myapp',
    APPVERSION: '0.1',

});

Tehn,您可以通过以下方式访问对象属性:

Defines.BASEURL
Defines.APPVERSION

希望能帮助到你-

于 2013-07-27T17:02:22.687 回答
0

你是如何创建打包android应用程序的?在 Sencha touch 上使用 Sencha 原生包装或 cordova 包装

于 2013-07-26T18:26:46.700 回答