angular MINERR_ASSET not found 404

守給你的承諾、 提交于 2019-12-09 16:11:50

问题


I'm getting an error logged to the console:

GET http://localhost:3000/js/lib/angular/MINERR_ASSET 404 (Not Found)     

I saw this post and it said it was a result of not inculding ngRoute module, but I do!

public/js/app.js:

window.app = angular.module('mean-blog-seed', ['ngCookies', 'ngResource',     'ui.bootstrap', 'ngRoute', 'mean-blog-seed.controllers', 'mean-blog-seed.services']);

Then I have a jade file that references angular-route.js:

script(type='text/javascript', src='js/lib/angular/angular.min.js')
script(type='text/javascript', src='js/lib/angular-route/angular-route.min.js')
script(type='text/javascript', src='js/lib/angular-cookies/angular-cookies.min.js')
script(type='text/javascript', src='js/lib/angular-resource/angular-resource.min.js')
script(type='text/javascript', src='js/lib/angular-bootstrap/ui-bootstrap-tpls.min.js')

script(src='js/app.js')
script(src='js/config.js')
script(src='js/services/global.js')
script(src='js/controllers/posts.js')
script(src='js/controllers/header.js')
script(src='js/filters.js')
script(src='js/directives.js')

The repo is here

Update: I posted the issue on github and got referenced to this crazy answer: https://github.com/angular/angular.js/issues/4675

The ng-closure-runner runs an angular specific pass during compilation which adds a definition for MINERR_ASSET, that asset is not included with any of the 1.2.x releases (the only releases with source maps). However, the source map references MINERR_ASSET as a source and as a result there is a 404 when requesting the file.

I've only quickly glanced at the grunt tasks and also ng-closure-runner, but I'm under the impression this is likely the ng-closure-runner included minErr.js or some file generated based on it. Either way the correct asset should be packaged with the other source files or MINERR_ASSET should be removed from the source map "sources".


回答1:


https://github.com/angular/angular.js/issues/4675

The above code led me to check out that problem and you are getting a call to ng-closure-runner (here: https://github.com/angular/angular.js/blob/a29bff1c98161495fb304d0195c4d2916b357686/bower.json).

Try including minErr.js in your JS files.




回答2:


Recently I noticed that in Safari I was getting the same error.

"sources":["angular.js","MINERR_ASSET"]

to:

"sources":["angular.js"]

and added non minified version of angularjs files associated with minified version to fixed the console errors. If you are using production version of angularjs, which should be minified version, make sure you add map associated with the library files or you may have unwanted server errors.




回答3:


in the .map file, I changed

"sources":["angular.js","MINERR_ASSET"],

to :

 "sources":["angular-sanitize.js"]

no longer getting error in console.




回答4:


I also faced this issue once, make sure you have all three files :

angular-route.js
angular-route.min.js
angular-route.min.js.map 

in your library/vendor folder. and your app definition contains ngRoute :

var myApp = angular.module('myApp',['ngRoute']);

Please vote if this resolution helps you. or share your app.js/error if you still have this issue.

Thanks



来源:https://stackoverflow.com/questions/21455370/angular-minerr-asset-not-found-404

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!