Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带咖啡脚本的AngularJS_Javascript_Angularjs_Coffeescript - Fatal编程技术网

Javascript 带咖啡脚本的AngularJS

Javascript 带咖啡脚本的AngularJS,javascript,angularjs,coffeescript,Javascript,Angularjs,Coffeescript,我已经在AngularJS中做了一个测试应用程序,现在我正尝试用咖啡来做一些不同的尝试。问题是,它给了我这样一个错误: 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 re

我已经在AngularJS中做了一个测试应用程序,现在我正尝试用咖啡来做一些不同的尝试。问题是,它给了我这样一个错误:

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

<!doctype html>
<html lang="en" ng-app="app">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css">
    <link rel="stylesheet" href="css/app.css">

    <script src="bower_components/jquery/jquery.js"></script>
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/angular-animate/angular-animate.js"></script>
    <script src="bower_components/angular-route/angular-route.js"></script>
    <script src="bower_components/angular-resource/angular-resource.js"></script>

    <script src="coffee/app.coffee" type="text/coffeescript" ></script>
    <script src="coffee/controllers.coffee" type="text/coffeescript"></script>
  </head>
  <body>

    <div class="view-container">
      <div ng-view></div>
    </div>

  </body>
</html>
咖啡:

commentController = angular.module 'commentController', [] 

commentController.controller 'CommentListCtrl', [ '$scope',
  ($scope) ->
    $scope.hello = "HELLO!"
]

浏览器本身不支持Coffeescript:您必须将其编译成Javascript

您可以通过使用诸如Grunt或Gulp和Approvals插件(,)之类的任务运行程序,或者使用Browserify和Approvals转换()来“轻松地”完成。约曼用咕噜声/咕噜声

现在,关于错误:

<script src="coffee/app.coffee" type="text/coffeescript" ></script>

此代码段将有效加载脚本,但不会对其进行解释。您可以获取其内容并将其作为字符串进行操作(这是一些模板库所使用的),但仅此而已。浏览器不会告诉你“嘿,我看不懂这个,这是咖啡脚本”

加载页面后,Angular将解析您的DOM,读取
ng app=“app”
,并尝试查看他是否知道模块
app

不幸的是,您的脚本没有被解释,因此
app
模块没有声明:这就是您得到的错误

我用另一种方式做了。安装了yeoman(因为之前我不知道这件事),并授权他为我做所有事情:)但仍然感谢您的回答。您可以将其添加到您的答案中,因此我将其作为完整答案接受:)
<script src="coffee/app.coffee" type="text/coffeescript" ></script>