ExtJS 5请求空名为/.js的文件

时间:2014-09-10 17:29:50

标签: javascript extjs sencha-cmd

我使用最新的sencha cmd 5.0.2.270和最新的ExtJS 5.0.1创建了一个全新的工作空间。生成了一个应用程序。编写了一些代码。

我使用sencha app build生成生产版本。

开发加载很好,但生产版本尝试加载没有名称的文件并获得404

获取http://yassa-built.dev/.js?_dc=1410352524548 404(未找到) 在那个错误之后,它根本不会加载。

我无法理解它在寻找什么。发展并没有抱怨。

我用https://mega.co.nz/#!Dk0gDRJD!dNITsq1fGFs5T4d-4yYFnA6_K6EcAhFkxoeEjaJu7MY(~600kb)制作了一个档案。它包括源和生产构建。

UPD 我找到了它开始破裂的地方。在文件RadioAdminController.js。

 case 'menu_referals':
    return app.setSubView('redmed-radioapp-referals', {
      store: Ext.create('RedmedAdmin.store.Referals')
    });

如果我不创建商店 - 它有效。生产构建没问题。商店没什么特别的:

Ext.define('RedmedAdmin.store.Referals', {
  extend: 'Ext.data.Store',
  model: 'RedmedAdmin.model.Referal',
  autoLoad: false,
  autoSync: true
});

5 个答案:

答案 0 :(得分:4)

在挣扎的第四天,一个简单的答案显露出来。

我错过了一个依赖。链:RedmedAdmin.store.Referals - > RedmedAdmin.model.Referal - > RedmedAdmin.model.redmed.RadioAppBase。

当我提供档案时,我会在这里列出类RedmedAdmin.model.redmed.RadioAppBase(工作版):

Ext.define 'RedmedAdmin.model.redmed.RadioAppBase',
    extend: 'Ext.data.Model'
    requires: ['Ext.data.identifier.Uuid', 'Ext.data.proxy.Rest']

    identifier: 'uuid'
    fields: [{
            name: 'id'
            type: 'string'
    }]
    schema:
            namespace: 'RedmedAdmin.model.redmed.radioapp'
            proxy:
                    type: 'rest'
                    url: 'http://10.0.29.140:6543/api/rest/{entityName:lowercase}'
                    reader:
                        type: 'json'
                        rootProperty: '{entityName:lowercase}'
                    listeners:
                        'exception': (request, operation, eOpts ) ->
                            Ext.log {level: 'error'}, "Data request to #{request.url} failed. Reply: #{operation.responseText}"

它为所有孩子定义了一个模式。架构使用rest代理(类型:'rest')。它没有包含在破碎的版本中。只有Ext.data.identifier.Uuid列在要求中。

答案 1 :(得分:3)

从build / testing /运行应用程序以查看缺少哪个依赖项。

答案 2 :(得分:1)

之前我遇到过同样的问题,修复方法是添加所需的Ext.layout.container.Border' &安培; ' Ext.layout.container.Center&#39 ;.我不得不手动注释掉代码&运行生产构建以检查(因为它在开发模式下工作正常)。在某些情况下,它会指出缺少的依赖项,如widget / ... js

答案 3 :(得分:1)

此问题与需要在requires数组中添加的类有关。我使用 Sencha 应用程序构建测试运行构建,然后在调试I cam中知道哪个类加载为空。为了解决我的问题,我添加了Ext.layout.container.Column,但它可以是任何类,因此最好在测试中运行构建,然后确定问题。

答案 4 :(得分:1)

为了使这些配置属性正常工作,您需要将此“Ext.data.identifier.Uuid”类添加为项目级别。

  

Ex.Application app.js文件中包含 Ext.data.identifier.Uuid 需要

Ext.application({

    requires: [
        'Ext.data.identifier.Uuid' // Include it
    ],
    models: [
        'UsersModel',
        'RolesModel',
        'LoginModel'
    ]

    .
    .
    .
    .

});