在Sencha Touch 2中加载外部JavaScript的正确方法是什么

时间:2012-04-26 13:52:34

标签: sencha-touch sencha-touch-2

在我的开发中,我需要包括第三部分javascripts;像money.js(http://josscrowcroft.github.com/money.js/)

实现它的最佳'干净'/'适当'方式是什么?只需将其包含在index.html?

4 个答案:

答案 0 :(得分:17)

没有。不要直接在index.html文件中添加其他javascript文件。这不是推荐方式(虽然它可能有效)。

相反,请这样做,

  • index.html中加入以下一行。 microloader是sencha sdk附带的文件夹,主要包含三个文件development.jsproduction.jstesting.js,每个文件都有自己的用途。
  

< script id =“microloader”type =“text / javascript”src =“../../ microloader / development.js”> < / script>

  • 然后,在<appname>文件夹中,您需要有一个名为app.json的文件。它看起来像这样......
{
    "name": "Sencha",

     // All javascript files go here ...
    "js": [
        {
            "path": "../../sencha-touch-all-debug.js"
        },
        {
            "path": "app.js",
            "update": "delta"
        },
        { 
            "path": "http://josscrowcroft.github.com/money.js/",
            "update": "delta"  
        }
    ],
    "css": [
        {
            "path": "../../resources/css/sencha-touch.css",
            "update": "delta"
        },
        {
            "path": "resources/css/app.css",
            "update": "delta"
        }
    ],

    .....
    .....
    .....
 }

答案 1 :(得分:3)

如果您使用Sencha Cmd,您的index.html可能如下所示:

<!-- The line below must be kept intact for Sencha Command to build your application -->
<script id="microloader" type="text/javascript" src=".sencha/app/microloader/development.js"></script>

因此,在更改app.json之后,您需要刷新您的应用:

sencha app refresh

答案 2 :(得分:0)

如果外部JavaScript库是本地的,那么以下适用于Ext JS 5.0.0。编辑完成后,运行“sencha app build”

在app.json中更改三个JSON elememtns。 (1)js (2)css (3)资源

{
    "name": "Sencha",

     // All javascript files go here ...
"js": [
    {
        "path": "app.js",
        "bundle": true
    },
    {
        "path": "leaflet/leaflet.js",
        "bundle": true
    }
],
"css": [
    {
        "path": "bootstrap.css",
        "bootstrap": true
    },
    {
        "path": "leaflet/leaflet.css",
        "bootstrap": true
    }
],

    .....
/**
 * Extra resources to be copied along when build
 */
"resources": [""leaflet/leaflet.js","leaflet/leaflet.css"
     

]           .....           .....        }

答案 3 :(得分:0)

纯javascript为我做了诀窍。我刚刚在启动函数中包含了这段代码

var scriptTag = document.createElement('script'); scriptTag.src = 'specify the path here...'; document.body.appendChild(scriptTag);

scriptTag会附加到索引文件的正文中