【问题标题】:ExtJS 7: How to differ loading of packages resources that can not be bundledExtJS 7:如何延迟加载无法捆绑的包资源
【发布时间】:2020-04-10 16:31:03
【问题描述】:

我们有一个基于 Sencha ExtJS7 的经典应用程序,它使用需要单独加载大量 js 文件的包(无法捆绑读取)。所以我们通过package.jsonjs config 加载它们

    "js": [
        {
            "path": "${package.dir}/resources/ace-builds-master/src-min-noconflict/ace.js"
        },
        {
            "path": "${package.dir}/resources/ace-builds-master/src-min-noconflict/theme-monokai.js"
        },

        <snipped................>

所以有很多文件要单独加载,不应该打包成一个

在生产/测试构建时,这些文件会在应用功能之前加载。

有没有办法在需要它们的面板添加到屏幕时或在应用程序加载并开始工作后延迟它们时加载这些文件

【问题讨论】:

    标签: extjs extjs6 extjs7


    【解决方案1】:

    首先,如果您想这样做,您不能将 javascript 捆绑到您的应用中;所有捆绑的代码都将作为应用程序引导的一部分加载。

    其次,有 vanilla JS 方法可以加载更多脚本代码,但使用 ExtJS 的方法是Ext.Loader#loadScript

    如果这些是 ExtJS 包(而不是任意 NPM 包),另一种方法是在 app.json 的“使用”部分中声明这些包,这将允许您使用 @987654322 动态加载它们@

    【讨论】:

    • 这些js没有打包,需要单独加载。这些脚本是包的一部分
    • 如果它们没有被捆绑,那么您已经管理了第一部分。下一部分是使用 Loader。
    • 所以我说的是本地捆绑包,需要一些资源,无法捆绑
    猜你喜欢
    • 2013-08-27
    • 1970-01-01
    • 2019-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-15
    • 2016-12-17
    相关资源
    最近更新 更多