浏览器可以设置全局模块吗?

时间:2015-05-15 19:00:18

标签: javascript backbone.js marionette browserify

我正在使用Browserify组建一个Backbone Marionette应用程序。当我想使用Backbone或Marionette相关函数时,每个单独模块文件的顶部如下所示:

var $ = require('jquery');
var _ = require('underscore');
var Backbone = require('backbone'); Backbone.$ = $;
var Marionette = require('backbone.marionette');

有没有办法不必在每个文件的顶部定义它?我希望我的代码尽可能干。

1 个答案:

答案 0 :(得分:2)

确实 DRY 原则与此相反,但遗憾的是 Browserify 中没有任何内容可用于设置全局模块。因此,如果您将这些模块附加到globalwindow,则可以设置全局模块,但即使冒着与 DRY 相差一点的风险也是如此原则,你现在的做法仍然比使用globalwindow更好,这是一种不好的做法