我已经开始在我的网站上使用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,淘汰赛,引导程序等),但我不是确定这是最好的做法。有什么想法吗?
答案 0 :(得分:0)
拥有大量依赖关系是针对SOLID原则的单一责任原则。
我们的类所依赖的依赖项越多,它与其他类的传出耦合就越高,这意味着它知道的太多了。如果它知道太多,很可能是因为它也做得太多了。班级不再专注于一件事。
This link是关于在使用Injection和C#时处理太多依赖项问题,但我认为它适用于任何语言。
虽然,如果您不想重新考虑代码,可能存在使用命名函数参数的依赖项名称不匹配的风险,如果您的模块具有许多依赖项,它可能会开始显得有些奇怪。 http://requirejs.org/docs/whyamd.html#sugar包含一些如何使代码更容易的建议。