我刚刚开始从视频教程中使用 angularjs 学习 typescript 。当我尝试将 Angular 模块放入我的“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>
尽管如此,我还是遇到了错误
Uncaught ReferenceError: angular is not defined
虽然视频教程中的相同示例工作正常。
附言在 index.html 文件中添加 Angular 引用时,我必须放置相对路径(Scripts/.../.../angular.js),而在视频教程示例中只是使用“angular.js”引用它。
谢谢。
最佳答案
- 你应该将
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>
关于javascript - 使用 typescript 时我得到 "Uncaught ReferenceError: angular is not defined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44279807/