Sencha Architect で Ext JS 7.1 を選んで作り始めたプロトタイプを Ext JS 6.x 向けに変更する必要が出てきたので、とりあえずなんとかしてみた内容をログとして残します。
この手順はあくまで気休め程度に自己責任で試すやりかたです。過去バージョンでサポートされていない機能を含むプロジェクトは正しく動くわけがないので、動いたらラッキーくらいの立ち位置で。
サマリ
Sencha Architectのプロジェクトファイル(拡張子 xds)はプロジェクトで使用するツールキット(Modern, Classic)のバージョン情報を含む。
プロジェクトのアーカイブ(拡張子 xda)を作成する場合はアーカイブにSDKを含めるかどうかを設定できる。そしてSDKを含まないアーカイブは、Sencha Architectで開いて保存するとき、必要なSDKがプロジェクト保存フォルダに保存される。
つまり、この仕組みを意図的に利用すれば、プロジェクトが使用するSDKのバージョンを変えることができる。
Sencha Architectのプロジェクトアーカイブのファイルフォーマットはzipなので、単にzipアーカイブツールで展開すれば内包されているxdsファイルを編集できる
手順
Sencha Architectでプロジェクトを Archive として保存する
xda ファイルをzipとして展開する
- ファイル名の拡張子を単純に zip にすれば、OS標準の機能でzipファイルを展開できる
展開後のフォルダに含まれるxdsファイルをエディタで編集する
xdaファイルに下記のような箇所があるはずなので、該当箇所2か所を探して修正する。
{ "settings": { "cmd": { // "cmd" の設定は全部消す "cmdVersion": "7.1.0.16", "license": "commercial", "frameworkVersion": "7.1.0.48"す }, ... }, ... // このフレームワーク指定の部分を ext67 などに書き換える。Classic Toolkitはext71、Modern Toolkitはmodern71のように表記する。 "framework": "ext71", ... }