0
我使用angularjs + ionic設置我的項目。當我使用/ www目錄訪問時,項目運行正常,但是當我壓縮項目到/ dist目錄,並使用/ dist目錄訪問了以下頁面之一:#/ Mdetails/3023638,出現錯誤:
all.min.js:1錯誤:[$ injector:unpr]未知提供者:nProvider < - n
但訪問其他網頁這是正常的。我不知道這是否是因爲我指着多個路由到同一頁面
app.controller('MdetailsCtrl', ["$scope", "$timeout", "$state", "$sce", "$stateParams", "$ionicPopup", "HttpService", "GlobalParamService", function ($scope, $timeout, $state, $sce, $stateParams, $ionicPopup, HttpService, GlobalParamService) {
....
}])
.state('Mdetails', {
url: '/Mdetails/:id',
templateUrl: 'templates/merchant/details.html',
prefetchTemplate: false,
controller: 'MdetailsCtrl',
resolve: loadSequence('MdetailsArgs')
})
.state('merchant', {
url: '/merchant/:id',
templateUrl: 'templates/merchant/details.html',
prefetchTemplate: false,
controller: 'MdetailsCtrl',
resolve: loadSequence('MdetailsArgs')
})
.state('app/shops', {
url: '/app/shops/:id',
templateUrl: 'templates/merchant/details.html',
prefetchTemplate: false,
controller: 'MdetailsCtrl',
resolve: loadSequence('MdetailsArgs')
})
,當我強制錯誤的頁面刷新,檢查谷歌瀏覽的網段,需要加載的文件將被加載
很高興你能解決它! –
謝謝,我發現問題,在該頁面中,我使用了一個指令文件,在這個文件中,我寫了一個控制器,如下所示:controller:function($ scope){...}但是當文件被壓縮時,控制器的方法將如下所示:function(n){...},所以,「n」無法解析,我已將代碼更改爲:[「$ scope」,function($ scope){。 ..}],然後重新壓縮文件,沒有錯誤 – ECHO
有一個偉大的插件修復了這些名爲ngAnnotate,你可以在grunt gulp中運行它。但是,最好的做法是按照您剛纔的方式編寫代碼。 –