相同的IIFE,不同的js文件

vie*_*365 0 javascript iife

我在我正在构建的网页中有3个不同的脚本,一切正常.

但是,在我了解了IIFE的优点之后,我试图将我的所有脚本包装在一个IIFE中,但它无法正常工作.控制台上出现错误:'Uncaught SyntaxError:意外的输入结束'refeering script-1.js.

所以,我有类似的东西:

<script type='text/javascript' src='...script-1.js'></script>
<script type='text/javascript' src='..script-2.js'></script>
<script type='text/javascript' src='script-3.js'></script>
Run Code Online (Sandbox Code Playgroud)

我正在做的是:在script-1.js上我启动了这样的代码

(function() {

//....rest of javaScript code script-1
Run Code Online (Sandbox Code Playgroud)

在script-3.js上,我结束了这样的代码:

//....rest of the code script-3

})();
Run Code Online (Sandbox Code Playgroud)

1)现在,第一个问题是:这可能吗?在同一个IIFE中包装不同的js文件?理论上似乎是,但我不确定.

2)然后,如果有可能,我做错了什么?

我知道对你们大多数人来说这似乎很基本但我会很感激一些反馈:)

T.J*_*der 8

每个单独的脚本必须在语法上完整,您不能拥有单个IIFE跨越脚本.

相反,请查看诸如RequireJS,Webpack,Browserifty等脚本捆绑器/模块系统.它们可以帮助您在表达各个脚本之间的相互依赖关系时避免使用全局变量,并帮助将这些脚本捆绑到单个脚本中进行部署(如果需要).