【发布时间】:2026-01-15 00:25:01
【问题描述】:
我使用 yeoman angular-generator 创建了一个测试网络应用,并将其部署到 Firebase 托管。当我在本地运行应用程序时,它工作正常。部署后,Chrome 开发控制台会报告“警告:尝试多次加载 Angular”。当我使用“firebase serve”在本地运行时,我看到对供应商和脚本 js 文件的 GET 请求无休止地重复。如果我使用“grunt serve”在本地运行,则不会发生这种情况并且站点运行正常。
以下是添加到页面的脚本:
<!-- build:js(.) scripts/vendor.js -->
<!-- bower:js -->
<script src="bower_components/jquery/dist/jquery.js"></script>
<script src="bower_components/angular/angular.js"></script>
<script src="bower_components/bootstrap-sass-official/assets/javascripts/bootstrap.js"></script>
<script src="bower_components/angular-animate/angular-animate.js"></script>
<script src="bower_components/angular-cookies/angular-cookies.js"></script>
<script src="bower_components/angular-messages/angular-messages.js"></script>
<script src="bower_components/angular-resource/angular-resource.js"></script>
<script src="bower_components/angular-route/angular-route.js"></script>
<script src="bower_components/angular-sanitize/angular-sanitize.js"></script>
<script src="bower_components/angular-touch/angular-touch.js"></script>
<script src="bower_components/firebase/firebase.js"></script>
<!-- endbower -->
<!-- endbuild -->
<!-- build:js({.tmp,app}) scripts/scripts.js -->
<script src="scripts/app.js"></script>
<script src="scripts/services/firebaseService.js"></script>
<script src="scripts/controllers/mainview.js"></script>
<script src="scripts/controllers/signinview.js"></script>
<script src="scripts/controllers/signinout.js"></script>
<script src="scripts/directives/signinout.js"></script>
<!-- endbuild -->
这里是由 grunt build 任务生成的脚本标签,其中包括默认包含在 angular-generator 中的 concat、uglify、minify 任务:
<script src="scripts/vendor.566b3c64.js"></script>
<script src="scripts/scripts.ea0abd4c.js"></script>
当我使用 firebase 运行本地服务器时,我会不断重复以下消息:
127.0.0.1 - - [11/Jul/2016:17:53:51 +0000] "GET /scripts/vendor.58eb8161.js?_=1468259614482 HTTP/1.1" 200 633643 "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
127.0.0.1 - - [11/Jul/2016:17:53:51 +0000] "GET /scripts/scripts.3f5216cb.js?_=1468259614483 HTTP/1.1" 200 3300 "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
127.0.0.1 - - [11/Jul/2016:17:53:52 +0000] "GET /scripts/vendor.58eb8161.js?_=1468259614484 HTTP/1.1" 200 633643 "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
127.0.0.1 - - [11/Jul/2016:17:53:52 +0000] "GET /scripts/scripts.3f5216cb.js?_=1468259614485 HTTP/1.1" 200 3300 "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
127.0.0.1 - - [11/Jul/2016:17:53:52 +0000] "GET /scripts/vendor.58eb8161.js?_=1468259614486 HTTP/1.1" 200 633643 "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
127.0.0.1 - - [11/Jul/2016:17:53:52 +0000] "GET /scripts/scripts.3f5216cb.js?_=1468259614487 HTTP/1.1" 200 3300 "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
127.0.0.1 - - [11/Jul/2016:17:53:52 +0000] "GET /scripts/vendor.58eb8161.js?_=1468259614488 HTTP/1.1" 200 633643 "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
127.0.0.1 - - [11/Jul/2016:17:53:52 +0000] "GET /scripts/scripts.3f5216cb.js?_=1468259614489 HTTP/1.1" 200 3300 "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
127.0.0.1 - - [11/Jul/2016:17:53:52 +0000] "GET /scripts/vendor.58eb8161.js?_=1468259614490 HTTP/1.1" 200 633643 "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
127.0.0.1 - - [11/Jul/2016:17:53:52 +0000] "GET /scripts/scripts.3f5216cb.js?_=1468259614491 HTTP/1.1" 200 3300 "http://localhost:5000/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36"
【问题讨论】:
-
在您的 HTML sn-p 中,
vendor.js从未包含在内,所以我不确定它会如何重复加载。 -
在 grunt build 任务将所有内容压缩到 vendor.js 和 script.js 之后,我编辑了我的问题以包含脚本。
-
我添加了一些关于我在部署站点时看到的内容的详细信息
标签: javascript angularjs yeoman-generator-angular grunt-usemin firebase-hosting