0

我正在开发一个用 Javascript(在浏览器中)编写的应用程序,并使用 requirejs 来模块化程序结构。

我理解指定依赖项的常规方法是在定义/要求函数的数组中填充依赖模块;

但我认为(至少)还有另一种方法可以做到这一点:我可以将依赖模块(或模块实例)作为函数参数传递给另一个模块。如下所示:

// ExampleRenderer.js
define([], // no explicit dependency
       function() {
           var context = {}; // fill in some context for rendering
           return {
               "render": function(externalRenderer) {
                   externalRenderer.render(context);
               }
           };
       });

请注意,我没有放入externalRenderer依赖数组。

我的问题是,是否有任何指导方针来决定是使用显式依赖还是函数参数?

编辑:我想我应该在这里添加我的动机,以防我要求一个错误问题的解决方案。动机:我想通过用模拟模块替换某些模块来对程序的某些部分进行单元测试。通过使用显式依赖数组,我想我无法在深层层次结构中找到并替换一个特定的模块。

4

0 回答 0