使用requirejs意味着不再有全局变量
Using requirejs means no more global variables?
使用requirejs是否意味着我将不再处理全局变量?
我开始在我的项目中实现requirejs。在使用requirejs之前,我将自定义Backbone Router类附加到一个名称空间变量:
app.Router = Backbone.Router.extend({customStuffInHere});
假设我现在将其定义为"模块":
define(['backbone'], function(Backbone) {
return Backbone.Router.extend({customStuffInHere});
});
这没有问题,因为我的自定义路由器在它自己的文件router.js中。所以它遵循惯例,每个文件一个模块。
当我在requirejs之前创建这个路由器的实例时,我只是在做:
....code....
app.router = new app.Router();
....code....
现在我必须为这个实例化创建一个全新的文件,并将其包含在当前模块中?
我做得对吗?
编辑:我想我的问题是,如何为我的所有应用程序提供一个单一的路由器模型?
使用不带.JS扩展名的JS文件的相对路径。(或使用到baseUrl
的相对路径)
本质上,RequireJS模块是singleton,这意味着您将在任何define
或require
调用中获得对同一对象的引用
require('./path/to/Router', function () {
var router = new Router();
}};
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- delete关键字在全局变量上的不同行为
- 在javascript函数中设置全局变量
- 如何将getJson的响应保存在全局变量中
- 从Javascript方法返回全局变量
- AngularJS中的封装窗口全局变量
- javascript隐式全局变量
- 如何从onclick函数设置全局变量并将其传递给另一个JS文件
- 如何使全局变量仅特定于该文件
- 在page.open()-PhantomJS中无法访问全局变量
- 使用全局变量来存储数字(JavaScript)
- 如何将变量声明为全局变量
- 在节点中创建文件全局变量
- 在Javascript中使用全局变量作为缓存是很好的
- 创建要在其他函数中使用的全局变量
- 为了避免创建全局变量,可以将所有变量分配给一个对象吗
- 函数中的innerHTML(全局变量?)
- 如何在javascript中为全局变量赋值
- 全局变量只能由第一个函数访问
- jQuery Mobile中的全局变量不再工作