命名空间可以动态插入
JavaScript文件吗?
我知道我可以通过创建一个脚本标签并将其插入到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();
实际上在后台做了什么,整个代码被包装成另一个函数,而export是它的属性.
另外,Michael Bolin talked about similar problem in his talk about ‘with’ keyword at JSConf.
原文地址:https://www.jb51.cc/js/151978.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。