前言:由于我是AngularJS和Brunch的新手,我想从头开始学习基础知识,构建和应用程序(即来自dead-simple
Brunch骨架)。我很清楚存在专门处理AngularJS / Brunch应用程序引导的骷髅,我一直在研究它们的代码,以便找出它们的工作原理#34;。但作为我的新手,我没有看到解决问题的方法......
问题:只要我将ng-app
(没有任何值)添加到html
元素,AngularJS就可以了。但只要我为此属性添加一个值(即ng-app="MyApp"
),AngularJS就会停止工作。 Chrome中的控制台告诉我它遇到了" Uncaught object"在angular.js的第1695行。
似乎Brunch添加的javascript导致了这个问题:如果我删除公共文件夹的app.js文件中Brunch生成的最顶层的代码,那么它又有效。但很明显,这不能解决我的问题。
以下是我app/assets/index.html
的代码:
<html ng-app="myApp">
<head>
<title>Test</title>
</head>
<body>
<script src="app.js"></script>
</body>
</html>
我的app/app.coffee
中的代码(在结果public/app.js
中与Brunch和AngularJS代码连接在一起):
angular.module("myApp", [])
问题:我错过了什么?我看到,在特定的骨架中,index.html文件包含<script>require('MyApp')</script>
,但添加它并不能解决问题。
对于像我这样的早午餐新秀的任何暗示都非常感激。谢谢!
答案 0 :(得分:0)
好的,我终于明白了。确实需要额外的<script>require('app');</script>
代码段。但是,请确保此require()
调用的参数与创建Angular应用程序的文件名相匹配。
示例:
ng-app="myAwesomeApp"
。相应的Javascript 代码需要使用angular.module("myAwesomeApp", [])
引用该代码。app.js
,那么相应的<script>require('app');</script>
应该反映出来。如果您还选择为Javascript 文件命名 myAwesomeApp.js
,请将其与<script>require('myAwesomeApp');</script>
匹配。