【翻译】动态包加载

原文:《Dynamic Package Loading

Sencha Cmd一直以来都支持包的概念,大型应用程序可通过包来封装类、样式和资源,然后通过Sencha Cmd将这些包打包到应用程序中。现在,又有了权限的方式(动态)来使用这些包。

如果现在已经使用了包,那会在应用程序的app.json文件中看到类似于以下的“requires”数组:

requires: [
    'dashboard',
    'settings',
    'users'
]

要切换到动态加载,只需要将部分或全部包移动到“users”数组并在“requires”数组添加以下新的包:

requires: [
    'package-loader'
],
uses: [
    'dashboard',
    'settings',
    'users'
]

在做了这些更改后,Sencha Cmd会在生成应用程序时,将应用程序和每个要使用的包生成独立的压缩包。在应用程序加载时,它将只包含自身的代码以及它所要求的包的代码,而不会包含所使用的包的代码。哪些已用包会像JavaScript、CSS或资源文件一样位于应用程序的生成文件夹中。

这样,就可应用程序准备好之后,使用Ext.Package.load()方法来加载这些包。在加载包时,会加载包所需的JavaScript和CSS等文件并会递归加载所需的包。

如果使用了Ext JS路由,则可以执行以下类似操作来加载包:

routes: {
    ':type': {
        before: 'loadPackage',
        action: 'showView'
    }
},

loadPackage: function (type, action) {
    var view = this.getView(),
        pkg = this.getPackageForType(type);

    if (!pkg || Ext.Package.isLoaded(pkg)) {
        action.resume();
    }
    else {
        view.setMasked({
            message: 'Loading Package...'
        });

        Ext.Package.load(pkg).then(function () {
            view.setMasked(null);

            action.resume();
        });
    }
},

使用动态包加载可为你的用户节省时间,他们不再需要等待应用程序的每个字节加,而实际上他们只需要加载大约20%的内容。它还可以为开发人员节省时间,因为Sencha Cmd不再需要加载所有代码来生成“dev”或同时监视所有代码。

有许多新的命令可以用来切换“app build”和“app watch”,以便控制要生成或监视的外部包。这就可让你将生成限制为当前正在使用的包从而缩短生成时间。

在运行sencha应用生成时,可添加--use选项来生成动态包:

sencha app build production --uses
基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip基于bert实现关系三元组抽取python源码+数据集+项目说明.zip 个人大四的毕业设计、课程设计、作业、经导师指导并认可通过的高分设计项目,评审平均分达96.5分。主要针对计算机相关专业的正在做毕设的学生和需要项目实战练习的学习者,也可作为课程设计、期末大作业。 [资源说明] 不懂运行,下载完可以私聊问,可远程教学 该资源内项目源码是个人的毕设或者课设、作业,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96.5分,放心下载使用! 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),供学习参考。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值