JS – 不能合并lib文件
我有一个index.html文件中的多个lib文件,按照正在运行的应用程序的顺序加载。
<!-- example of some of them... --> <script src="/./sys/lib/jquery.min.js"></script> <script src="/./sys/lib/jquery.ui.min.js"></script> <script src="/./sys/lib/jquery.easing.min.js"></script> <script src="/./sys/lib/underscore.min.js"></script> <script src="/./sys/lib/handlebars.min.js"></script> <script src="/./sys/lib/backbone.min.js"></script> <script src="/./sys/lib/moment.min.js"></script> <script src="/./sys/lib/libs.extensions.js"></script>
这些运行良好,他们已经全部缩小。
现在,我想把这些全部合并成一个文件来加载速度:
<script src="/./sys/lib/libs.all.js"></script>
因此,我打开了新的libs.all.js
文件,并按照与上面列出的顺序完全相同的顺序 ,将缩小的.js文件逐个粘贴到零修改中。 这工作,直到我到了moment.js。 当我然后粘贴并运行它,我得到一个JS错误。
TypeError: (intermediate value)(...) is not a function
我没有得到我所缺less的东西 – 如果我们将它们按正确的顺序粘贴到HTML文件中,那么它们有什么区别呢?
很可能你的一个js文件丢失了一个;
最后。 打开一个你认为是造成错误,并添加一个;
最后还是加一个;
到下一个js文件的第一行。
修改JavaScript代码并不能解决问题的根本原因,所以一旦你引入一个新的JavaScript文件,这可能会再次发生。
对于永久性修复,至less有几个select – 即涉及修改构build,以便将来不会发生这种情况,即使缺less分号:
- 注入一个
;
您要连接的文件之间。 这通常是一个简单的单行更改,具体取决于您如何连接文件。 - 先将文件缩小,然后连接。 这应该在你连接的文件之间留下一个\ n,允许ASI为你处理这个问题。
只需添加半克隆和换行符
';\n'
在每个文件的末尾