我尝试在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/

10-12 15:22