我尝试在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'模块不可用,因为如果我用其编译版本(app.js)替换app.coffee,它就可以工作。
为什么呢?有什么问题?
答案 0 :(得分:2)
app.coffee文件在角度尝试引导页面后编译。 你可以做的是手动引导ng-app。
在你的app.coffee中:
angular.element(document).ready ->
angular.module 'app', []
angular.bootstrap document, ['app']
并删除html标记上的ng-app指令。 有关详情,请查看Angular Bootstrap。
我自己不会在高效的应用程序中认真考虑这个设置。我宁愿编译咖啡脚本服务器端......