Sencha Touch构建 - 排除文件

时间:2012-09-12 17:59:46

标签: javascript sencha-touch sencha-touch-2

在我的Sencha应用程序中,我有一个包含一些服务URL的Config.js文件:

Ext.define('MyApp.utils.Config', {
    singleton : true,

    config : {
        authBaseUrl : '...',
        serviceBaseUrl : '...',
        reportsBaseUrl : '...',
        imagesUrl : '...'
    },    

    constructor : function (config) {
        this.initConfig(config);
    }
});

在部署之前,我使用

sencha app build
来自Sencha Touch SDK的

命令用于缩小和连接文件等。

我的问题是构建过程还会将config.js添加到缩小的app.js文件中,尽管如果我可以编辑它而不需要重建/重新部署整个应用程序,这将非常有用。我没有找到任何方法来改变构建过程的行为。

因此,在构建应用程序之后,我想拥有这三个js文件:

  • sdk / sencha-touch.js(连接,缩小,首次下载后在localstorage中缓存)
  • app.js(首次下载后连接,缩小,缓存在localstorage中)

  • config.js(保持不变,不在本地存储中缓存)

1 个答案:

答案 0 :(得分:1)

从应用程序中删除它以便它没有捆绑,然后在app.json中引用它,这在类似情况下对我来说效果很好。

我还有一个在开发过程中反复修改的config.js,所以在我的app.json中它看起来像这样:

"js": [
    {
        "path": "sdk/sencha-touch-all.js"
    },
    {
        "path": "config.js"
    },
    {
        "path": "app.js",
        "bundle": true, 
        "update": "full"
    }
],

这可确保您的config.js文件包含在构建中。

然后你需要将脚本添加到app.html文件中,只需确保它在主app.js之前加载。我看起来像这样(从Sencha Architect自动生成):

<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>llm</title>
    <link rel="stylesheet" href="resources/css/llm.css">
    <script src="http://maps.google.com/maps/api/js?sensor=true"></script>
    <script src="sdk/sencha-touch-all.js"></script>
    <script src="config.js"></script>
    <script src="cordova-2.0.0.js"></script>
    <script type="text/javascript" src="app.js"></script>
</head>
<body></body>
</html>

希望这对你有帮助!