javascript - 命名空间动态加载的 javascript 文件的内容

标签 javascript namespaces javascript-namespaces

是否可以为动态插入的 JavaScript 文件命名空间?

我知道我可以通过创建一个 script 标签并将它插入到 DOM 中来动态包含一个 JavaScript 文件,但是这个包含的文件可以命名空间吗?所以,如果文件有一个名为 bar 的函数,我想通过命名空间访问它,比如 foo:即 foo.bar() .

最佳答案

是的,CommonJS Modules/1.1仅指定一种方法。

我只在服务器端将它与 Node.js 一起使用,但我相信还有其他创建的库可以与兼容 CommonJS 的浏览器一起使用。请注意,服务器/浏览器有多个模块规范(尚未深入研究)。

模块就像任何其他 javascript 一样编写,唯一的增加是导出你想要公开的内容:

module.exports.bar = Bar;

function Bar() {
 // code
}

以及用法:

var foo = require('mymodule');

foo.bar();

实际上在后台做了什么,整个代码被包装到另一个函数中,exports 是它的属性。

此外,Michael Bolin talked about similar problem in his talk about 'with' keyword at JSConf .

关于javascript - 命名空间动态加载的 javascript 文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7056081/

相关文章:

php - Soap 响应命名空间问题

javascript - 如何附加到从闭包创建的 JavaScript 命名空间?

javascript - 使用 JavaScript 触发 Google 可视化 StringFilter

javascript - 如何在 folium MarkerClusters 上显示平均值而不是计数?

R 从命名空间选择性导入

Javascript:如何清除非全局(封闭)setTimeout?

javascript - 如何将变量传递给 Javascript 命名空间

javascript - 取消选择 DOM 元素

javascript - 将 PHP 变量值发送到同一页面中的 JavaScript 弹出窗口

PHP 命名空间 - 如果声明 Parent\Child,为什么我必须 "use {Parent}"?