我尝试在CoffeeScript中完全制作一个AngularJS应用程序,但是在加载主模块时,出现了以下错误:
Uncaught Error: [$injector:modulerr] Failed to instantiate module app due to:
Error: [$injector:nomod] Module 'app' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.
我的应用程序非常简单:
这是我的index.html:
<html ng-app="app">
<head>
<script type="text/javascript" src="javascripts/angular.js"></script>
<script type="text/javascript" src="javascripts/angular-route.js"></script>
<script type="text/javascript" src="javascripts/coffee-script.js"></script>
<script type="text/coffeescript" src="coffee/app.coffee"></script>
</head>
<body></body>
</html>
而我的应用(app.coffee)只是:
angular.module 'app', []
我不明白为什么我的“应用程序”模块不可用,因为如果我用其编译版本(app.js)替换app.coffee,它将起作用。
为什么?问题是什么?
最佳答案
在angular尝试引导页面后,将编译app.coffee文件。
您可以做的就是手动引导ng-app。
在您的app.coffee中:
angular.element(document).ready ->
angular.module 'app', []
angular.bootstrap document, ['app']
并摆脱html标签上的ng-app指令。
有关更多信息,请检查Angular Bootstrap。
我自己不会认真考虑在生产性应用程序中进行此设置。我宁愿编译coffee脚本服务器端...
关于javascript - 无法在coffeescript中加载angularjs模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20025582/