我最近收到了一位同事的代码审查,他希望我对定义JS模块和使用requireJS引入依赖关系的不同方法有所了解。典型的方法是:
define('module-name',
['dep1', 'dep2', 'dep3'],
function(dep1, dep2, dep3){
//Do stuff...
});
他提交审查的方法是:
define('module-name',
function(){
var dep1 = require('dep1');
var dep2 = require('dep2');
var dep3 = require('dep3');
//Do stuff...
});
他在宣告每个需要大肆宣传后的理由是,在添加或删除数组的依赖项时可能会很痛苦。您必须确保回调函数中参数的顺序是正确的。他的方法保证您不会意外删除依赖项并保留参数。
我知道第一种方法是requireJS文档中的详细内容,但有什么区别吗?我反对他的方法的唯一论点是它不是通常做的,但我想知道是否有任何技术原因反对它。