2016-02-14 51 views
3

我最近在我的yeoman應用中引入了角度指令模板,並且如果我咕嚕服務於應用的正常開發版本,但一切正常,但是當我使用grunt構建「dist」文件夾並且服務於它,在我的應用程序的指令的HTML不會對頁面和控制檯日誌上會出現此錯誤:Angular/grunt未能加載模板

Failed to load resource: the server responded with a status of 404 (Not Found) 

vendor.6e8f248d.js:5 Error: [$compile:tpload] Failed to load template: 
/views/tabdir.html (HTTP status: 404 Not Found) 

,我讀了依賴注入需要在一個陣列格式,這樣微小不與它混亂,所以我爲我的所有控制器做了這個,但同樣的問題仍然存在。例如:

angular.module('MainApp').controller('MainCtrl', ['$scope', 'inputBlur', function ($scope, inputBlur) { 

}]); 

是什麼導致我的指令不能被grunt正確加載?

+0

這聽起來像咕嚕構建過程不是很正確配置。您是否正在使用'html2js'將正確的HTML模板包含在dev中,但是沒有將它們連接到您的dist腳本中?在dev和dist中提供HTML文件的方式有什麼區別?我很確定這與縮小錯誤無關。 – GregL

+0

我還沒有聽說過html2js,我使用yeoman配置的默認設置。這會幫助我嗎?我應該尋找什麼樣的開發/差異之間的差異? – Tater

+0

我不知道yeoman使用的默認設置是什麼,對不起。您可以檢查的一件事是在開發模式下運行時是否爲HTML模板提出請求(使用開發人員工具的「網絡」選項卡)。還要檢查提供的JS文件列表(或其內容)是否在dev和dist之間相同。 – GregL

回答

4

我有類似的問題。在你的指令的templateUrl值刪除第一個foreslash /,應該是這樣的:

templateUrl:'views/tabdir.html' 
+0

爲我工作,所以檢查你的templateURL –