sReceiving:构建后 "Unrecognized alias: proxy.sessionStorage"
sReceiving: "Unrecognized alias: proxy.sessionStorage" after Build
我构建了项目,但收到错误消息,我的应用无法识别会话存储。
proxy: {
type: 'sessionstorage',
id: 'sessionTimeline',
reader: {
type: 'json',
rootProperty: 'query'
}
}
当我将类型更改为 "memory" 时,我的代码工作正常,但类型必须是会话存储,因为我想在刷新页面时保存商店中的所有数据。
Uncaught Error: [Ext.createByAlias] Unrecognized alias:
proxy.sessionstorage
at Ext.Inventory.instantiateByAlias (app.js?_dc=1493205201288:13481)
at Object.createByAlias (app.js?_dc=1493205201288:5423)
at constructor.applyProxy (app.js?_dc=1493205201288:85923)
at constructor.setter [as setProxy] (app.js?_dc=1493205201288:9021)
at constructor. (app.js?_dc=1493205201288:9000)
at constructor.createImplicitModel (app.js?_dc=1493205201288:86564)
at constructor.applyFields (app.js?_dc=1493205201288:85893)
at constructor.setter [as setFields] (app.js?_dc=1493205201288:9021)
at Ext.Configurator.configure (app.js?_dc=1493205201288:9610)
at 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'
},
...
我该如何修复该错误?谢谢。
您的商店缺少需求:
requires:[
'Ext.data.proxy.SessionStorage'
]
这告诉 ExtJS 在构建商店之前加载文件 data/proxy/SessionStorage.js
。只有在加载data/proxy/SessionStorage.js
文件时,才会注册别名proxy.sessionstorage
,代理工厂才能正确实例化代理。
我构建了项目,但收到错误消息,我的应用无法识别会话存储。
proxy: {
type: 'sessionstorage',
id: 'sessionTimeline',
reader: {
type: 'json',
rootProperty: 'query'
}
}
当我将类型更改为 "memory" 时,我的代码工作正常,但类型必须是会话存储,因为我想在刷新页面时保存商店中的所有数据。
Uncaught Error: [Ext.createByAlias] Unrecognized alias: proxy.sessionstorage at Ext.Inventory.instantiateByAlias (app.js?_dc=1493205201288:13481) at Object.createByAlias (app.js?_dc=1493205201288:5423) at constructor.applyProxy (app.js?_dc=1493205201288:85923) at constructor.setter [as setProxy] (app.js?_dc=1493205201288:9021) at constructor. (app.js?_dc=1493205201288:9000) at constructor.createImplicitModel (app.js?_dc=1493205201288:86564) at constructor.applyFields (app.js?_dc=1493205201288:85893) at constructor.setter [as setFields] (app.js?_dc=1493205201288:9021) at Ext.Configurator.configure (app.js?_dc=1493205201288:9610) at 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'
},
...
我该如何修复该错误?谢谢。
您的商店缺少需求:
requires:[
'Ext.data.proxy.SessionStorage'
]
这告诉 ExtJS 在构建商店之前加载文件 data/proxy/SessionStorage.js
。只有在加载data/proxy/SessionStorage.js
文件时,才会注册别名proxy.sessionstorage
,代理工厂才能正确实例化代理。