我考虑将现有应用程序转移到使用CommonJS模块并使用Browserify将bundle
模块放到一个文件中。
我正在考虑编写模块,但是在我深入研究并开始重写某些位之前我有点怀疑,我怎么能稍微优化它以便我不必包括Backbone ,Underscore,jQuery和每个文件中的任何帮助文件,即。
var Backbone = require('/backbone');
var $ = require('/jquery');
var _ = require('/underscore');
在一段时间后,每个文件的顶部会变得有点单调乏味。
作为一个完整的CommonJS,Browserify n00b,我想知道我是否遗漏了一些非常明显的东西?
答案 0 :(得分:2)
您遗漏的“非常明显的事情”是您可以在Node.js中创建全局变量,并在Browserify环境中创建全局变量。要么使用global.Backbone = require('/backbone')
明确地执行此操作,要么通过执行Backbone = require('/backbone')
(前面没有var
来更明确地执行此操作)。
请注意,在浏览器中,global
对象实际上是window
对象。但是,附加到window
对象意味着您将失去与Node.js的兼容性,因为它通常没有定义全局变量window
。