Sencha CMD编译文件仍在下载单个javascript文件(触摸2.3.1)

时间:2014-12-24 17:34:35

标签: extjs sencha-touch sencha-cmd

我有一个现有的Sencha Touch 2.3.1 MVC应用程序,我想编译为使用Sencha CMD进行单个连接的javascript。使用Sencha CMD,我编译了一个引导程序文件和包含我所有javascript的单个连接文件,但是当我运行应用程序时,我可以在Chrome检查器中看到应用程序正在下载单个javascript文件。

这是我用来将现有应用编译成一个文件的行(此时未压缩):

sencha -sdk /path/touch-2.3.1/src compile --classpath=. --options=debug:false include --all and exclude --file=lib,one_file.js and concatenate --output-file=one_file.js    

这就是我用来生成引导文件的原因:

sencha -sdk /path/touch-2.3.1/src compile -classpath=app meta -alias -out bootstrap.js and meta -alt -append -out bootstrap.js and meta -loader -append -base-path . -out bootstrap.js    

以下是我的app.js的样子:

Ext.application({
name: 'MyApp',
appFolder: 'app',
glossOnIcon: false,
paths: {
    'MyApp.ux': './app/ux',
    'Ext.override': './app/override'
},
requires: [
    'MyApp.Config',
    'MyApp.File'
],
viewport: {
    itemId: 'viewport'
},
stores: [
    'store1',
    'store2',
    // ...
    'store5'
],
models: [
    'model1',
    'model2',
    //...
    'model5'
],
views: [
    'MainContainer',
    'view1',
    'view2',
    //...
    'view9'
],
controllers: [
    'MainController',
    'LoginController',
    'AnotherController'
],
launch: function() {
    MyApp.app = this;
    Ext.create('MyApp.view.MainContainer', { fullscreen: true });
}

});

最后这就是我的index.html的样子:

    <!DOCTYPE html>
<html>
<head>    
<title>MyApp</title>
 <link rel="stylesheet" type="text/css" href="css/my-theme.css"/>    
 <link rel="stylesheet" type="text/css" href="style.css"/>
    <script type="text/javascript" src="cordova.js"></script>
    <script type="text/javascript" src="lib/touch2/sencha-touch-all-debug.js"></script>      <script type="text/javascript" src="one_file.js"></script>
</head>
<body></body>
</html>    

我们将非常感谢您的帮助。我花了很多天时间学习如何使用Sencha CMD,暂时陷入困境。应用程序运行正常但下载单个javascript文件。

1 个答案:

答案 0 :(得分:-2)

不要使用“sencha compile”开始学习Sencha CMD。而是使用“sencha app build”。

默认情况下,Sencha CMD生成的新项目将配置为生成多个构建。默认为开发,可以通过运行命令“sencha app build”来完成。然而,这并没有真正编译/缩小/连接任何东西。

您关心的两个构建如下:

“sencha app build testing” - 将编译生成的构建,其中所有Sencha文件/类和附加/外部JS(app.json中的每个配置)组合成一个文件。生成的文件app.js不会因为调试而缩小。

“sencha app build production” - 将编译与上面相同,除了所有app.js(以及样式/主题)将被缩小。