2015-09-20 34 views
0

我有一個meanJS應用程序正在使用jQlite,但現在需要完整的jQuery功能。當我添加jQuery依賴於all.js:添加jQuery依賴中斷meanJS應用程序

lib: { 
     css: [ 
      'public/app.css', 
      'public/lib/bootstrap/dist/css/bootstrap.css', 
      'public/lib/bootstrap/dist/css/bootstrap-theme.css', 
      'public/lib/angular/angular-csp.css' 
     ], 
     js: [ 
      'public/lib/jquery/dist/jquery.js', 
      'public/lib/angular/angular.js', 
      'public/lib/Chart.js/Chart.js', 
      'public/lib/momentjs/min/moment.min.js', 
      'public/lib/momentjs/min/locales.min.js', 
      'public/lib/humanize-duration/humanize-duration.js', 
      'public/lib/angular-timer/dist/angular-timer.js', 
      'public/lib/countdown360/dist/jquery.countdown360.js' 
     ] 
    }, 

我現在加載的每一頁都試圖引導兩次角度。一個函數調用來自我的代碼文件application.js,第二個函數調用是拋出錯誤的函數調用,它來自VM703,它與實際文件具有相同的文本。

爲什麼我的代碼從一個非文件運行,我如何阻止它?我之前看過VMx的唯一時間就是如果我的控制檯命令拋出錯誤,或者在像jsFiddle/codepen這樣的網站上創建「文件」來運行。

編輯:「休息」是指第二次引導應用程序。我的application.js文件運行,根據需要引導角度,然後運行它的虛擬副本,引發錯誤並顯示永久減慢網頁。

+0

是否在控制檯中說「警告:試圖加載角度不止一次」? – bobleujr

+0

是的。對不起,意思是明確說明是什麼意思的「休息」。 –

+0

任何機會,你沒有加載angular.js已經在你的主要HTML? – bobleujr

回答

0

我認爲這可能會解決您的問題。

當您添加JQuery時,您的應用程序將評估ng-view中的兩個標記,因此,我假設您的腳本正在加載<body>,您放置了ng-view。如果是這樣,將您的ng-view變爲<div這樣做,以及將您的<script>移動到<head>

+0

ng-view是一個隱式還是顯式的指令?因爲在我的代碼中不會出現ng-view。 –

+0

它是隱含的。那麼,我正在處理這個假設。你通常使用'$ routerProvider'。檢查這個傢伙的問題,他們還添加了JQuery。 [這裏](http://stackoverflow.com/questions/27050158/warning-tried-to-load-angular-more-than-once-because-of-jquery-why) – bobleujr