Extjs S收到:“;无法识别的别名:proxy.sessionStorage“;建成后

Extjs S收到:“;无法识别的别名:proxy.sessionStorage“;建成后,extjs,sencha-cmd,Extjs,Sencha Cmd,我进行了项目构建,但收到一个错误,我的应用程序无法识别会话存储 proxy: { type: 'sessionstorage', id: 'sessionTimeline', reader: { type: 'json', rootProperty: 'query' } } 当我将类型更改为“memory”时,我的代码工作正常,但类型必须是sessionstorage,因为我希望在刷新页面时保存存储区中的所有数据 未捕获错误:[E

我进行了项目构建,但收到一个错误,我的应用程序无法识别会话存储

  proxy: {
    type: 'sessionstorage',
    id: 'sessionTimeline',
    reader: {
      type: 'json',
      rootProperty: 'query'
    }
  }
当我将类型更改为“memory”时,我的代码工作正常,但类型必须是sessionstorage,因为我希望在刷新页面时保存存储区中的所有数据

未捕获错误:[Ext.createByAlias]无法识别的别名: proxy.sessionstorage 在Ext.Inventory.InstanceByAlias(app.js?_dc=1493205201288:13481) 在Object.createByAlias(app.js?_dc=1493205201288:5423) 在constructor.applyProxy(app.js?_dc=1493205201288:85923) 在constructor.setter[作为setProxy](app.js?_dc=1493205201288:9021) 在构造器上。(附录js?_dc=1493205201288:9000) 位于constructor.createImplicitModel(app.js?_dc=1493205201288:86564) 在constructor.applyFields(app.js?_dc=1493205201288:85893) 在constructor.setter[作为设置字段](app.js?_dc=1493205201288:9021) 在Ext.Configurator.configure(app.js?_dc=1493205201288:9610) 位于constructor.initConfig(app.js?_dc=1493205201288:11119)

我不知道出了什么问题,因为我的应用程序可以在构建之前识别会话存储,我尝试用多种方法修复这个错误,但确实很难,因为app.js很紧凑

我的会话存储代码:

Ext.define('ES.store.Timeline', {
  extend: 'Ext.data.Store',
  alias: 'store.timeline',
  storeId: 'timeline',
  fields: [{
    name: 'vid',
    type: 'int'
  }, {
    name: 'time',
    type: 'string'
  }, {
    name: 'lat',
    type: 'float'
  }, {
    name: 'lng',
    type: 'float'
  }, {
    name: 'address',
    type: 'string'
  }, {
    name: 'dir',
    type: 'string'
  }, {
    name: 'vel',
    type: 'string'
  }, 'hidden'],
  pageSize: 500,
  autoSync: true,
  sorters: [{
    property: 'time',
    direction: 'DESC'
  }],
  data: {
    query: []
  },
  proxy: {
    type: 'sessionstorage',
    id: 'sessionTimeline'
  },
  filters: [{
    property: 'hidden',
    value: false
  }]
});
我正在调用视图上的会话存储:

...

    store: {
        type: 'timeline'
    },

...

我如何修复这个bug?谢谢。

您的商店缺少一项要求:

requires:[
    'Ext.data.proxy.SessionStorage'
]

这告诉ExtJS在构建存储之前加载文件
data/proxy/SessionStorage.js
。只有在加载
data/proxy/SessionStorage.js
文件时,才会注册别名
proxy.SessionStorage
,因此,代理工厂可以正确地实例化代理。

你使用的是哪个extjs版本?我使用的是6.2.0版本如果你想使用json reader,那么你应该使用类型作为ajax。只要检查它是否工作正常我不再使用json reader了,对不起,我忘了删除这段代码,在我的新版本中,我只是添加了类型检查链接:。在这里,如果不指定类型,默认情况下,它将始终使用json作为读取器类型。