javascript - "export to the browser"是什么意思

标签 javascript backbone.js

backbone.js annotated source描述了下面的一段代码

  var Backbone;
  if (typeof exports !== 'undefined') {
    Backbone = exports;
  } else {
    Backbone = root.Backbone = {};
  }

作为“顶级命名空间。所有公共(public) Backbone 类和模块都将附加到此。为 CommonJS 和浏览器导出。”

在这种情况下,“为浏览器导出”是什么意思?

最佳答案

在 CommonJS 中,你的模块是隔离的,任何你想与需要你的东西共享的东西都是通过“exports”变量共享的。例如,Node.js 就使用了它。

另一方面,如果您只是在浏览器中,则不使用 exports 变量,而是在 root 中添加一个新变量,最终指向到 window 全局变量。

换句话说,如果我们使用支持 CommonJS 的东西,导出 Backbone。如果不是,则将其放在根上下文中。

关于javascript - "export to the browser"是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8556237/

相关文章:

javascript - 根据滚动位置更改 css 类

javascript - 如何使用 console.table() 查看 store.load 响应?

javascript - 如何强制调用模型事件

javascript - Backbone.js:仅渲染集合中的最后一个模型,显示模型总数

javascript - 调用 Javascript 库外部定义的函数

javascript - ScrollIntoView() 锁定滚动 Angular4

javascript - 发出ajax请求获取一些数据,然后重定向到一个新页面,传递返回的数据

javascript - 如何在渲染 Marionette View 之前加载远程数据

javascript - Backbone "has no method '调用''错误

javascript - BackboneJS 模型方法 'get' 不考虑 idAttribute 设置