javascript - Requirejs加载全部或部分依赖对象?

标签 javascript requires

我正在创建一个 javascript 模块,它存储一些网页使用的一些函数。例如:

define(['...',...], function() {
    return {
         func1: function(){...},
         func2: function(){...},
         func3: function(){...},
      }
});

我在 page1.html 上有一个模块只使用 func1,page2.html 上的其他模块只使用 func2,依此类推。在这种情况下,我想知道 requirejs 加载所需的函数或加载整个对象。

我打算构建在网页之间共享的模块。如果requirejs加载整个对象,恐怕会花费更多时间来下载不必要的脚本。您对这个问题有什么想法吗?

最佳答案

将所有方法分组到一个模块中将导致 require 返回整个对象。如果您只想在 page1 上加载 func1,在 page2 上加载 func2 等,那么您最好在自己单独的模块和文件中声明每个函数。然后在需要时加载每个模块。

// func1.js
define(['...'], function(){
    return {
        func1 : function(){}
    }
})

// func2.js
define(['...'], function(){
    return {
        func1 : function(){}
    }
})

requirejs documentation指向多页面应用程序的一个很好的例子:https://github.com/requirejs/example-multipage

注意:在许多情况下,最好在一个 http 请求中实际加载所有脚本,而不是对应用程序中的每个文件发出异步请求。许多大型应用程序使用 r.js 将其脚本捆绑到几个文件中。

关于javascript - Requirejs加载全部或部分依赖对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29276014/

相关文章:

javascript - 如何能够识别codemirror中的javascript?

javascript - Chrome 版本。 58 "TypeError: navigator.storage.estimate is not a function"

java - Java 9 中的 requires 和 requires 传递语句有什么区别?

javascript - Electron——Chromium 脚本中需要模块

dependencies - 如何使 RPM 依赖于包 a 或包 b?

javascript - 如何为 AWS CloudFormation 堆栈和资源实现区域特定配置

javascript - 如何在javascript中使用递归代码在对象中创建内部对象

mysql - 需要 MySQL 或 MariaDB 的 RPM 规范文件

javascript - JavaScript Window 对象的 setTimeout() 方法中的默认超时是什么?