繁体   English   中英

ExtJS:动态包加载和构建配置文件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM