【发布时间】:2021-04-17 20:59:39
【问题描述】:
假设我有 3 个函数。如果我将它们一个一个地写下来,它们都将暴露在全局命名空间中,因此会受到全局污染。所以一种方法似乎如下。
var test;
(function() {
test.funct1 = function(){
}
test.funct2 = function(){
}
test.funct3 = function(){
}
})
现在,我们减少了问题,因为函数没有放入全局命名空间。我们可以说,它们仍然是,但不完全是。 test 将被放在全局 namespace 上,该全局 namespace 将具有所有其他功能。
问题1)现在,问题依然存在,如果某人或某个图书馆有test,问题是我的test和图书馆的test会发生碰撞,这似乎太糟糕了。人们如何在没有任何库/框架或其他任何东西(没有 webpack)的情况下解决这个问题?
问题 2) 好的,所以 webpack 确实解决了上述问题。在 webpack 中,每个文件都是模块。这是可以理解的,但是,一个很好的例子会很棒,有些东西仍然必须放在全局范围内。我会很感激一个很好的例子。
【问题讨论】:
-
请尽量在一个问题中只问一个问题
-
它们几乎是相关的,这样问似乎更好
标签: javascript webpack module namespaces