2016-01-12 64 views
0

到目前爲止,我已經做了升級方式有兩種:錯誤升級從EXTJS 4.2 EXTJS 6.x的後

1)我成立了一個新的sencha app generate [appName]移交的4.2文件和目錄到6.x。設置起來後,做了sencha app build時出現錯誤:

The following error occurred while executing this line: 
/var/www/html/backoffice-test/EcommBackoffice/.sencha/app/build-impl.xml:381: The following error occurred while executing this line: 
/var/www/html/backoffice-test/EcommBackoffice/.sencha/app/init-impl.xml:382: com.sencha.exceptions.ExNotFound: Unknown definition for dependency : Ext.ux.grid.filters.Filters 
[email protected]:/var/www/html/backoffice-test/EcommBackoffice$ 

與此相伴,在加載應用程序,控制檯錯誤是給了這些行:

http://localhost:1841/EcommBackoffice/Overrides/view/Table.js?_dc=1452581765612` 
http://localhost:1841/EcommBackoffice/Overrides/selection/Model.js?_dc=1452581765612` 
[E] [Ext.Loader] Some requested files failed to load. 
[E] [Loader] The following classes failed to load: 
[E] [Loader] Overrides.view.Table from Overrides/view/Table.js 
[E] [Loader] Overrides.selection.Model from Overrides/selection/Model.js 
[E] [Loader] EcommBackoffice.Application from app/Application.js 

2)被第一個問題,我的第二個方法是簡單地在現有的應用程序上執行sencha app upgrade -ext。它成功地更新做了sencha app build它給出了一個類似的錯誤,如時除外:

The following error occurred while executing this line: 
/var/www/html/backoffice-2.0/src/main/webapp/.sencha/app/build-impl.xml:381: The following error occurred while executing this line: 
/var/www/html/backoffice-2.0/src/main/webapp/.sencha/app/init-impl.xml:382: com.sencha.exceptions.ExNotFound: Unknown definition for dependency : Ext.ux.grid.FiltersFeature 

和短控制檯錯誤:Uncaught ReferenceError: Ext is not defined

這發生在我編輯index.html和替換x-compile片段:

<!-- <x-compile> --> 

<!-- <x-bootstrap> --> 
<link rel="stylesheet" href="bootstrap.css"> 
<script src="ext/ext-all-debug-w-comments.js"></script> 
<script src="bootstrap.js"></script> 
<!-- </x-bootstrap> --> 
<script src="app.js"></script> 

<!-- </x-compile> --> 

這樣:

<script id="microloader" data-app="a32fd6d2-db0c-4c4b-a6a2-4185b3ee3fd4" type="text/javascript" src="bootstrap.js"></script> 

編輯前index.html,不同的錯誤被拋出與x-compile

/.sencha/app/init-impl.xml:382: com.sencha.exceptions.ExBuild: Mixed-Mode x-compile and microload markup is currently unsupported 

這就是爲什麼我選擇了支持微加載由6.x的

提供我挺上丟失的原因這裏。 ExtJS顯然沒有適當的Sencha指南直接從4.x升級到6.x。它只提升一步,如4.x至5.x5.x至6.x。即使如此,這些指南不是很清楚,恕我直言,缺乏文件。

任何人都可以指出問題出在我提供的錯誤上?

+0

對一些請求的文件加載失敗的問題去安慰和執行這條線 - > Ext.Loader.missingQueue和嘗試找到爲什麼重命名文件沒有加載.. 'Ext.Loader.missingQueue'會給你一個確切的剩餘文件隊列 –

回答

1

好了,Cmd的錯誤消息說,響亮而清晰:

Unknown definition for dependency : Ext.ux.grid.filters.Filters 

這意味着ExtJS6不提供Ext.ux.grid.filter.Filters,這是什麼地方需要在你的應用程序。

正如Ext文檔所述,來自Ext.ux名稱空間的所有內容都不具備升級安全性,因爲它是Sencha發現的有用並添加到Ext zip文件的用戶提供的內容。通常,您只需在因特網上搜索官方zip文件中缺少的ux功能的ExtJS 6.0.x實現;或者自己寫。但是對於你的特殊情況,我相信他們將gridfilters從ux移到了ExtJS 4.2.x的官方分支中,然後在ExtJS 5中刪除了別名,最後在ExtJS 6中他們用插件替換了該特性。

所以請看看Ext.grid.filters.Filters,我相信它可以滿足您的需求,但您必須重寫部分代碼才能使用它。 (更改要求,將參考從功能移動到插件,可能會考慮其他更改。)

我認爲第二個錯誤消息(「[E] [Ext.Loader]一些請求的文件加載失敗。」)意味着與第一個相同,我期望在Overrides/view/Table.js中有類似requires:['Ext.ux.grid.filters.Filters']的東西。 (Overrides.selection.Model未加載,因爲它需要Overrides.view.Table,並且不會加載EcommBackoffice.Application,因爲它引用Overrides.selection.Model