有没有办法缩短Require.js的require语句?我误解了如何使用它吗?

时间:2015-02-27 00:23:10

标签: javascript requirejs

我已经开始在我的网站上使用require.js了,但有一件事让我感到困惑的是我文件顶部的大量需求声明。

require(["hype", "jquery", "knockout", "environment","bootstrap", "datamodel", "datatable", "datatables", "dataTablesBootstrap", "utils", "notifications", "moment", "datatablesFilterDelay"],
function(hype, $, ko, env, bootstrap, datamodel, datatable, datatables, dataTablesBootstrap, utils, not, moment, dfd) {

我不确定我是否误解了我应该如何使用require.js。我的每个页面都有各自的javascript文件,顶部有一个这样的require语句。

我可以通过将我所包含的所有内容重构为单个模块来缩短它,并且只需要因为许多页面依赖于类似的东西(大多数需要炒作,jquery,淘汰赛,引导程序等),但我不是确定这是最好的做法。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

拥有大量依赖关系是针对SOLID原则的单一责任原则。

  

我们的类所依赖的依赖项越多,它与其他类的传出耦合就越高,这意味着它知道的太多了。如果它知道太多,很可能是因为它也做得太多了。班级不再专注于一件事。

This link是关于在使用Injection和C#时处理太多依赖项问题,但我认为它适用于任何语言。

虽然,如果您不想重新考虑代码,可能存在使用命名函数参数的依赖项名称不匹配的风险,如果您的模块具有许多依赖项,它可能会开始显得有些奇怪。 http://requirejs.org/docs/whyamd.html#sugar包含一些如何使代码更容易的建议。