为什么 AngularJS 不能使用多个延迟脚本?
Why won't AngularJS work with multiple defer scripts?
我的 HTML 底部有以下内容:
<script defer="defer" src="http://localhost:8080/bower_components/jquery/dist/jquery.min.js"></script>
<script defer="defer" src="http://localhost:8080/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script defer="defer" src="http://localhost:8080/apps/promotion/active.js">
// "Gulped" angular, ngAnimate, ui.bootstrap, and my angular app; in that order.
</script>
</body>
</html>
刷新页面时偶尔会出现此错误:
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.4.9/$injector/modulerr?p0=activePromos&p1=Err…20(http%3A%2F%2Flocalhost%3A8080%2Fapps%2Fpromotion%2Factive.js%3A1%3A7124)
有时连续刷新多次会出现,有时连续刷新多次会出现。不过,有时我会收到错误消息,这让我很恼火。
我发现如下:如果我删除 jquery
和 bootstrap
脚本,那么我只有一个 script
(active.js) defer
属性,它始终有效。我试图在页面按指定顺序加载完成后加载脚本。
我是否应该以不同的方式执行此操作(requirejs?)?我假设使用 defer
并按顺序排列脚本会有所帮助,因为我以前做过,但不是 AngularJS。 我主要是想利用从浏览器并行下载的优势,而不是拥有一个巨大的 JS 文件,因为该页面只有 1 张图像和 2 CSS 个文件。
在加载所有必需的 JavaScript 文件之前,angular 应用程序将无法正确初始化。
由于您要推迟这些文件的加载,因此您需要等到所有文件都加载完毕,然后使用 AngularJS's bootstrap function.
手动初始化应用程序
我的 HTML 底部有以下内容:
<script defer="defer" src="http://localhost:8080/bower_components/jquery/dist/jquery.min.js"></script>
<script defer="defer" src="http://localhost:8080/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
<script defer="defer" src="http://localhost:8080/apps/promotion/active.js">
// "Gulped" angular, ngAnimate, ui.bootstrap, and my angular app; in that order.
</script>
</body>
</html>
刷新页面时偶尔会出现此错误:
Uncaught Error: [$injector:modulerr] http://errors.angularjs.org/1.4.9/$injector/modulerr?p0=activePromos&p1=Err…20(http%3A%2F%2Flocalhost%3A8080%2Fapps%2Fpromotion%2Factive.js%3A1%3A7124)
有时连续刷新多次会出现,有时连续刷新多次会出现。不过,有时我会收到错误消息,这让我很恼火。
我发现如下:如果我删除 jquery
和 bootstrap
脚本,那么我只有一个 script
(active.js) defer
属性,它始终有效。我试图在页面按指定顺序加载完成后加载脚本。
我是否应该以不同的方式执行此操作(requirejs?)?我假设使用 defer
并按顺序排列脚本会有所帮助,因为我以前做过,但不是 AngularJS。 我主要是想利用从浏览器并行下载的优势,而不是拥有一个巨大的 JS 文件,因为该页面只有 1 张图像和 2 CSS 个文件。
在加载所有必需的 JavaScript 文件之前,angular 应用程序将无法正确初始化。
由于您要推迟这些文件的加载,因此您需要等到所有文件都加载完毕,然后使用 AngularJS's bootstrap function.
手动初始化应用程序