[英]ExtJS: Dynamic Package loading and build profiles
我正在尝试在我的 Sencha ExtJS 应用程序中使用动态包加载。
我在我的工作区中创建了包( sencha generate package SR2000
)并将SR2000
添加到 app.json 中的uses
-Array:
"requires": [
"package-loader",
"font-awesome",
...
],
"uses": ["SR2000"],
在 Application.js 中,我添加了要launch
的加载:
launch: function (profile) {
console.log('Current Config:', Base.config.Config.getConfig());
Ext.Package.load('SR2000');
Ext.Viewport.getController().onLaunch();
Ext.getBody().removeCls('launching');
this.callParent([profile]);
},
然后我使用选项-uses
观看/构建应用程序:
sencha app watch -uses <build_profile>
在浏览器中加载应用程序时出现错误 404
该应用程序正在尝试加载: http://localhost:1841/build/development/wolfitsmart/resources/SR2000/SR2000.js
但是包的构建输出在这里: http://localhost:1841/build/development/wolfitsmart/<build_profile>/resources/SR2000/SR2000.js
我怎样才能让包加载器查看 build_profile-Folder,或者让构建将包放入 resources-Folder?
我将 build_profile-Folder 添加到 app.json 中的资源中,但没有帮助:
"resources": [
{
"path": "resources",
"output": "shared"
}
],
变成:
"resources": [
{
"path": "resources",
"output": "shared"
},
{
"path": "${build.id}/resources"
}
],
构建和使用动态包的一些有用说明。
sencha app build -dev -pac yourpackagename /// build development
sencha app build -pac yourpackagename // build release
sencha app watch -pac yourpackagename
if (Ext.Package.isLoaded('packagename')) {
// package is loaded
} else {
Ext.Package.load('packagename').then(function () {
// package is loaded
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.