browserify 可以设置全局模块吗?

Can browserify set global modules?

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

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

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

确实 DRY 原则是反对这个的,但不幸的是 Browserify 中没有设置全局模块的内容。因此,如果您将这些模块附加到 globalwindow,则可以设置全局模块,但即使存在 DRY[= 有点偏离轨道的风险19=]原则,你现在的做法还是比使用globalwindow好,后者是不好的做法