使用CommonJS和Browserify的骨干应用程序

时间:2013-07-17 16:18:46

标签: backbone.js commonjs browserify

我考虑将现有应用程序转移到使用CommonJS模块并使用Browserify将bundle模块放到一个文件中。

我正在考虑编写模块,但是在我深入研究并开始重写某些位之前我有点怀疑,我怎么能稍微优化它以便我不必包括Backbone ,Underscore,jQuery和每个文件中的任何帮助文件,即。

var Backbone = require('/backbone');
var $ = require('/jquery');
var _ = require('/underscore');

在一段时间后,每个文件的顶部会变得有点单调乏味。

作为一个完整的CommonJS,Browserify n00b,我想知道我是否遗漏了一些非常明显的东西?

1 个答案:

答案 0 :(得分:2)

您遗漏的“非常明显的事情”是您可以在Node.js中创建全局变量,并在Browserify环境中创建全局变量。要么使用global.Backbone = require('/backbone')明确地执行此操作,要么通过执行Backbone = require('/backbone')(前面没有var来更明确地执行此操作)。

请注意,在浏览器中,global对象实际上是window对象。但是,附加到window对象意味着您将失去与Node.js的兼容性,因为它通常没有定义全局变量window