主干和AMD依赖性定义,参数与变量
我一直在开发具有不同模块的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";
}
});
第一个有一些缺点:
第二个是可读性更强,可以缩小,但是有很多依赖可以产生很长的行,并且很难追踪依赖项名称和函数输入参数之间的对。
所以如果你需要缩小选择第二个,如果不需要,选择第一个。
链接地址: http://www.djcxy.com/p/70411.html上一篇: Backbone and AMD dependency definitions, parameters vs variables