我一直在开发一个具有不同模块的Backbone应用程序,并且随着它现在变大,我希望用AMD模式和RequireJS来组织它。
我一直在寻找有关如何解决此问题的不同教程和文章,我已经看到了几种不同的方法来定义依赖关系,并且想知道:这两个模块定义之间是否存在任何重大差异,我个人当涉及大量定义时,第二个是否更整洁?
define(function (require) {
"use strict";
var $ = require('jquery'),
Backbone = require('backbone'),
Module1 = require('Module1'),
Employee = Backbone.Model.extend({
urlRoot: "/employees",
initialize: function () {
this.reports = new EmployeeCollection();
this.reports.url = this.urlRoot + "/" + this.id + "/reports";
}
});
和
define(['jquery', 'backbone', 'Module1'], function (jQuery, Backbone, Module1) {
"use strict";
var Employee = Backbone.Model.extend({
urlRoot: "/employees",
initialize: function () {
this.reports = new EmployeeCollection();
this.reports.url = this.urlRoot + "/" + this.id + "/reports";
}
});
答案 0 :(得分:0)
第一个有一些缺点:
第二个更具可读性并且可以缩小,但是有许多依赖项会产生非常长的行,并且难以在依赖项名称和函数输入参数之间跟踪对。
因此,如果您需要缩小选择第二个,如果不需要,请选择第一个。