动态插入 JavaScript 文件是否可以命名空间化?
我知道可以通过创建 script
标签并将其插入到 DOM 中来动态包含 JavaScript 文件,但是这个包含的文件可以被命名空间化吗?所以,如果文件有一个叫做 bar
的函数,我希望通过一个命名空间 foo
来访问它:即foo.bar()
。
动态插入 JavaScript 文件是否可以命名空间化?
我知道可以通过创建 script
标签并将其插入到 DOM 中来动态包含 JavaScript 文件,但是这个包含的文件可以被命名空间化吗?所以,如果文件有一个叫做 bar
的函数,我希望通过一个命名空间 foo
来访问它:即foo.bar()
。
是的,CommonJS模块/1.1只指定了一种方法。
我只在Node.js服务器端使用过它,但我相信有其他库被创建为与浏览器一起工作并符合CommonJS规范。请注意,服务器/浏览器有多个模块规范(尚未深入研究)。
模块的编写方式与任何其他javascript代码相同,唯一的区别是您可以导出要暴露的内容:
module.exports.bar = Bar;
function Bar() {
// code
}
而且用法:
var foo = require('mymodule');
foo.bar();
实际上,整个代码被包装在另一个函数中,并且输出为其属性。
require
使用?如果是这样,那么在包含第三方js文件时如何实现命名空间? - William Niu