ReferenceError:未定义Angular

时间:2014-06-24 13:41:48

标签: angularjs

我一直坐在这个问题上几个小时,找到了一些答案,到目前为止,这些答案都没有对我有效(AngularJs ReferenceError: angular is not defined)。出于某种原因,我似乎无法让我的应用程序使用Angular.JS。添加所需的js文件后,我的主文件如下所示:

    <!DOCTYPE html>
    <html ng-app="AppName">
  <head>
    <title></title>

    <link rel="stylesheet" href="/stylesheets/main.css">

  </head>
  <body>
    <!-- Wrapper-->
    <div id="wrapper">

      <div id="page-content-wrapper">

        <div class="page-content inset" ng-view>
        </div>

      </div>
    </div>
    <!-- /WRAPPER-->

    <!-- ANGULAR CUSTOM -->
    <script src="libs/angular/angular.js"></script>
    <script src="libs/angular-route/angular-route.min.js"></script>
    <script src="javascripts/AngularApp.js"></script>
    <script src="javascripts/appRoutes.js"></script>
    <script src="javascripts/controllers/MainCtrl.js"></script>
    <script src="javascripts/controllers/SettingsCtrl.js"></script>
    <script src="javascripts/services/SettingsService.js"></script>

  </body>
</html>

当我运行应用程序时,似乎永远不会完成加载(请参阅图像:http://imgur.com/FIAH4tH)然后崩溃。在Firefox中,我收到以下错误:http://imgur.com/UT3g7wY

有谁知道如何解决这个问题?

- EDIT-- 我已经更新了应用程序中脚本的位置。

我的AngularApp.js文件如下所示:

angular.module('AppName', ['ngRoute', 'appRoutes', 'MainCtrl', 'SettingsCtrl', 'SettingsService']);

3 个答案:

答案 0 :(得分:8)

如果您的模块AppNameAngularApp.js中定义,则需要MainCtrl js之前。

您的.js文件是否分开了角度模块?如果是这样,它们不应该在angular.module依赖项中列为模块。

angular.module('AppName', ['ngRoute']);

答案 1 :(得分:3)

在您自己的自定义代码之前,绝对包含任何lib /文件 因此,将<script src="libs/angular/angular.js"></script><script src="libs/angular-route/angular-route.min.js"></script>放在其他javascripts文件之前,您应该会发现问题已修复。

答案 2 :(得分:0)

我遇到了同样的问题。在HTML的<head>标记中声明角度脚本标记对我来说很有效。因此:

<!doctype html>
<html lang="en" ng-app>
    <head>
        <meta charset="utf-8">
        <title>AngularJS tryout</title>
        <script src="../../node_modules/angular/angular.js"></script>
    </head>
    <body>
        <h1>AngularJS tryout</h1>
        <p>Nothing here so {{ 'far' + '!' }}</p>
    </body>
</html>