【发布时间】:2013-12-16 22:21:04
【问题描述】:
我在一个 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
我没有得到我缺少的东西 - 如果我在它们同步加载到 HTML 文件中时以正确的顺序粘贴它们,有什么区别?
【问题讨论】:
-
很可能您的一个 js 文件缺少 ;在末尾。打开您认为导致错误的那个并添加一个 ;最后,或添加一个 ;到下一个 js 文件的第一行。
-
你能把你的评论变成答案吗?你完全搞定了,我需要接受你的回答。
标签: javascript html shared-libraries synchronous