我正在探索 Meteor,并试图了解它与我更熟悉的其他 OOP 系统(例如 Python)相比如何在模块化方面工作。
在我看来,将事物分解为单独的文件(HTML 模板、相应的 JS 文件)是相当随意的,并且只符合程序员头脑中的组织。还有更多的事情吗?
据我了解,所有的 javascript、所有的 HTML、所有的 CSS、所有的模板都连接在一起。
通过 Python 模块和 OOP 类获得的那种保护是否有任何意义?我知道是否在 Meteor JS 文件中使用“var”声明变量决定了它是否具有全局访问权限 - 如果所有 Javascript 文件都连接在一起(如果它们实际上连接在一起)?
请原谅我这个 super 新手的问题,但如果您对如何只见树木、见森林有任何见解,我们将不胜感激。
最佳答案
确实这些文件被连接在一起成为一个大文件发送给客户端,但是每个文件中的代码被放入一个函数中直接调用:
您的 file1.js:
alert("This is file 1.")
你的file2.js:
alert("This is file 2.")
发送给客户端的内容:
(function(){
alert("This is file 1.")
})()
(function(){
alert("This is file 2.")
})()
因此文件中的局部变量不会相互影响,因为它们是函数的局部变量。
关于javascript - Meteor 模块化和访问保护 - 一切都是 'global' 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25945720/