无法在coffeescript中加载angularjs模块

时间:2013-11-17 00:11:07

标签: javascript angularjs coffeescript

我尝试在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,它就可以工作。

为什么呢?有什么问题?

1 个答案:

答案 0 :(得分:2)

app.coffee文件在角度尝试引导页面后编译。 你可以做的是手动引导ng-app。

在你的app.coffee中:

angular.element(document).ready ->
  angular.module 'app', []
  angular.bootstrap document, ['app']

并删除html标记上的ng-app指令。 有关详情,请查看Angular Bootstrap

我自己不会在高效的应用程序中认真考虑这个设置。我宁愿编译咖啡脚本服务器端......