使用打字稿时出现“未捕获的 ReferenceError:未定义角度”
Posted
技术标签:
【中文标题】使用打字稿时出现“未捕获的 ReferenceError:未定义角度”【英文标题】:I am getting "Uncaught ReferenceError: angular is not defined" when using typescript 【发布时间】:2017-10-31 23:10:24 【问题描述】:我刚刚从视频教程中开始使用 angularjs 学习打字稿。当我尝试将角度模块放入我的“app.ts”文件中时,默认情况下该文件是后端的主文件。这是我的 app.js 代码:
/// <reference path="Scripts/typings/jquery/jquery.d.ts" />
/// <reference path="Scripts/typings/angularjs/angular.d.ts" />
console.log("This is a TS file");
angular.module('classProjectApp', ['ngRoute'])
.config(function ($routeProvider)
console.log("in Config()");
);
我在 index.html 文件中添加了 angularjs 文件,如下所示:
<html lang="en">
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
<link rel="stylesheet" href="app.css" type="text/css" />
<script src="app.js"></script>
<script src="Scripts/angular.js"></script>
<script src="Scripts/angular-route.min.js"></script>
</head>
<body>
<h1>TypeScript HTML App</h1>
<div id="content"></div>
</body>
</html>
尽管如此,我得到一个错误
未捕获的 ReferenceError:未定义角度
虽然视频教程中的相同示例可以正常工作。
附:在 index.html 文件中为 angular 添加引用时,我必须放置相对路径(Scripts/.../.../angular.js),而在视频教程示例中只是使用“angular.js”引用它。
谢谢。
【问题讨论】:
script
标记为angularjs
应该放在第一位。
<script src="app.js"></script>
应该去下面
你想做什么?角 1 或角 2?为什么 .ts 文件会出现?
【参考方案1】:
您应该将angularjs
引用移到顶部
app.js
应该转到下面。
你也应该在html
标签上定义ng-app="classProjectApp"
。
试试下面的代码而不是你的代码
<html ng-app="classProjectApp" lang="en">
<head>
<meta charset="utf-8" />
<title>TypeScript HTML App</title>
<link rel="stylesheet" href="app.css" type="text/css" />
<script src="Scripts/angular.js"></script>
<script src="Scripts/angular-route.min.js"></script>
<script src="app.js"></script>
</head>
<body>
<h1>TypeScript HTML App</h1>
<div id="content"></div>
</body>
</html>
【讨论】:
您好,感谢您的回复。我试过这个,但遗憾的是我仍然得到同样的错误。我还收到另一个错误 Uncaught ReferenceError: angular is not defined at app.js:4 angular.js:4920 Uncaught Error: [$injector:modulerr] Failed to instantiate module classProjectApp due to: Error: [$injector:nomod] Module 'classProjectApp' 不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。 您好,感谢您的回复。我试过这个,但遗憾的是我仍然得到同样的错误。我还收到另一个错误 Uncaught ReferenceError: angular is not defined at app.js:4 angular.js:4920 Uncaught Error: [$injector:modulerr] Failed to instantiate module classProjectApp due to: Error: [$injector:nomod] Module 'classProjectApp' 不可用!您要么拼错了模块名称,要么忘记加载它。如果注册模块,请确保将依赖项指定为第二个参数。 你也应该在 html 标签上定义 ng-app="classProjectApp" @MightyGodLoki 嘿,我猜我弄乱了 index.html 文件中引用的顺序。该应用程序现在可以运行。非常感谢您花时间回答。欣赏它。 :)以上是关于使用打字稿时出现“未捕获的 ReferenceError:未定义角度”的主要内容,如果未能解决你的问题,请参考以下文章