我正在使用Ext JS 6.2.0,并且我使用Sencha Cmd生成了一个应用程序。
在“app.json”中,我创建了以下构建配置文件:
/**
* Build Profiles. This object's properties are each a "build profile". You can
* add as many as you need to produce optimized builds for devices, themes, locales
* or other criteria. Your "Ext.beforeLoad" hook (see index.html) is responsible for
* selecting the desired build profile by setting "Ext.manifest" to one of these
* names.
*
*/
"builds": {
"aria_english":{
"theme": "theme-aria",
"locale": "en"
},
"neptune_chinese": {
"theme": "theme-neptune",
"locale": "zh_CN"
},
"gray_spanish": {
"theme": "theme-gray",
"locale": "es"
}
},
我可以通过运行cmd来选择其中一个构建:
sencha app build aria_english
但我不想重新构建应用程序来更改构建配置文件。我想根据URL或数据来选择构建配置文件。
我看了Sencha's doc on Dynamic Manifest。并在microloader之前的“index.html”中添加了以下代码。
<script type="text/javascript">
var Ext = Ext || {};
Ext.beforeLoad = function (tags) {
Ext.manifest = 'neptune_chinese';
};
</script>
我收到了错误:
SyntaxError:JSON.parse:JSON数据第1行第1列的意外字符[了解详情] bootstrap.js:1911:32
------------------更新--------------------
我在app.json的“bootstrap”部分添加了“manifest”设置。
"bootstrap": {
"base": "${app.dir}",
"manifest": "${build.id}.json",
"microloader": "bootstrap.js",
"css": "bootstrap.css"
},
然后,在我运行“sencha app build”之后,会为每个配置文件(aria_english.json,aria_english.jsonp等)自动生成.json和.jsonp文件。
但是,如果我将“Ext.manifest”更改为其中一个配置文件名称,则语言环境将会更改,但主题将保持不变。
我得到了错误:
XML解析错误:格式不正确 地点:http://localhost/buildTest/aria_english.json?_dc=1495764803737 第1行,第1列:aria_english.json:1:1