Javascript 角度是未定义的

Javascript 角度是未定义的,javascript,angularjs,Javascript,Angularjs,所以我正在学习angular,我有一个非常基本的html和一个js脚本,我在App.js的第1行不断得到“angular是未定义的”。我把所有的angular脚本和我的脚本都放在脚本文件夹中。我错过了什么 index.html: <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" data-ng-app="appMain"> <head> <title>{{ Heading

所以我正在学习angular,我有一个非常基本的html和一个js脚本,我在App.js的第1行不断得到“angular是未定义的”。我把所有的angular脚本和我的脚本都放在脚本文件夹中。我错过了什么

index.html:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" data-ng-app="appMain">
<head>
    <title>{{ Heading }}</title>
</head>
<body ng-controller="homePageViewModel">
    {{ Heading }}
    <button ng-click="SayHello()">Click me</button>

    <script src="Scripts/angular-min.js"></script>
    <script src="Scripts/angular-route.min.js"></script>
    <script src="Scripts/App.js"></script>
</body>
</html>
VS中的文件夹结构:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" data-ng-app="appMain">
<head>
    <title>{{ Heading }}</title>
</head>
<body ng-controller="homePageViewModel">
    {{ Heading }}
    <button ng-click="SayHello()">Click me</button>

    <script src="Scripts/angular-min.js"></script>
    <script src="Scripts/angular-route.min.js"></script>
    <script src="Scripts/App.js"></script>
</body>
</html>
鉴于我已经;我所做的唯一改变就是引用了CDNJS版本的Angular和Angular Route;我看不出有什么问题

你的问题在别处

具体来说,如果您正在构建此项目,则输出文件夹需要与
脚本
相同的相对路径。换句话说,您的目录结构期望以下内容为真:

 - index.html
 |
  - Scripts
  |
   - app.js
   - angular-min.js
   - angular-route.js
另一个问题可能是您没有
Copy to output Directory=true
,或者没有将
angular-min.js
设置为内容(要复制到输出文件夹的内容)

以下是代码笔的更改:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" data-ng-app="appMain">
<head>
    <title>{{ Heading }}</title>
</head>
<body ng-controller="homePageViewModel">
    {{ Heading }}
    <button ng-click="SayHello()">Click me</button>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular-route.min.js"></script>
</body>
</html>

{{Heading}}
{{Heading}}
点击我
考虑到我;我所做的唯一改变就是引用了CDNJS版本的Angular和Angular Route;我看不出有什么问题

你的问题在别处

具体来说,如果您正在构建此项目,则输出文件夹需要与
脚本
相同的相对路径。换句话说,您的目录结构期望以下内容为真:

 - index.html
 |
  - Scripts
  |
   - app.js
   - angular-min.js
   - angular-route.js
另一个问题可能是您没有
Copy to output Directory=true
,或者没有将
angular-min.js
设置为内容(要复制到输出文件夹的内容)

以下是代码笔的更改:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" data-ng-app="appMain">
<head>
    <title>{{ Heading }}</title>
</head>
<body ng-controller="homePageViewModel">
    {{ Heading }}
    <button ng-click="SayHello()">Click me</button>

    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.4.3/angular-route.min.js"></script>
</body>
</html>

{{Heading}}
{{Heading}}
点击我

您的脚本名称错误,应该是这样

<script src="Scripts/angular.min.js"></script>

与此相反:

<script src="Scripts/angular-min.js"></script>


查看您的文件名和脚本名。

您的脚本名称错误,应该是这样

<script src="Scripts/angular.min.js"></script>

与此相反:

<script src="Scripts/angular-min.js"></script>

查看文件名和脚本名。

您需要在脚本定义中设置type=“text/javascript”。 试一试


您需要在角度脚本定义中设置type=“text/javascript”。 试一试




关于角度未定义,我也面临同样的问题。在我的代码中,缺少type=“text/javascript”属性。在我添加了这个属性之后,它工作得很好。如果上述解决方案不起作用,也可以尝试此方法。

我也遇到了同样的问题,即角度未定义。在我的代码中,缺少type=“text/javascript”属性。在我添加了这个属性之后,它工作得很好。如果上述解决方案不起作用,也可以尝试此操作。

如果angular确实加载了,您是否检查了控制台?只是为了确保您的angular*.js文件确实位于名为Scripts的文件夹中,对吗?@ochi yes..checked,仔细检查。如果看到George的评论,屏幕截图你的应用程序文件结构没有回答你。@GeorgeStocker这是最奇怪的事情…这可能与它只是Visual Studio中的一个空网站文件夹有关吗?我不认为这与它有任何关系。你检查过控制台上是否真的加载了angular?只是为了确保你的angular*.js文件确实在一个名为Scripts的文件夹中找到,对吗?@ochi yes..checked,仔细检查。如果看到George的评论,屏幕截图你的应用程序文件结构没有回答你。@GeorgeStocker这是最奇怪的事情…这可能与它只是Visual Studio中的一个空网站文件夹有关吗?我不认为这和它有任何关系。我把我的角度参照改成了CDNJS,它工作了!为什么要从脚本文件夹加载App.js文件,而不是angular js文件?@Anonymous我们无法回答这个问题,因为我们看不到您构建的输出。你必须在关于构建输出的问题中分享屏幕截图。只提供了一张屏幕截图,请包括你整个结构的屏幕截图;不仅仅是那个文件夹。尤其是在您(从Windows资源管理器)构建它之后它的外观。@Anonymous我打赌我知道这个问题,如果您右键单击
angular-min.js
并在Visual Studio中查看它的属性,是否包含
复制到输出目录
?它是否也包含为
内容
属性?我将我的角度参考更改为CDNJS,它可以工作!为什么要从脚本文件夹加载App.js文件,而不是angular js文件?@Anonymous我们无法回答这个问题,因为我们看不到您构建的输出。你必须在关于构建输出的问题中分享屏幕截图。只提供了一张屏幕截图,请包括你整个结构的屏幕截图;不仅仅是那个文件夹。尤其是在您(从Windows资源管理器)构建它之后它的外观。@Anonymous我打赌我知道这个问题,如果您右键单击
angular-min.js
并在Visual Studio中查看它的属性,是否包含
复制到输出目录
?它是否也包含为
内容
属性?这仍然不起作用,因为:检查我的答案。仅适用于HTML5,否则我看到它会影响浏览器的行为。这仍然不起作用,因为:检查我的答案。仅适用于HTML5,否则,我看到它会影响行为,这取决于browserWinner鸡肉晚餐。我甚至没有看到那个问题。@GeorgeStocker实际上你的答案导致了我的问题。当你说cdn工作时,他评论说:除了那个文件外,其他文件都会加载,我知道这是因为文件名或者标签有问题。谢谢你们:)谢谢你们两位的帮助!大吉大利,晚上吃鸡我甚至没有看到那个问题。@GeorgeStocker实际上你的答案导致了我的问题。当你说cdn工作时,他评论说:除了那个文件外,其他文件都会加载,我知道这是因为文件名或者标签有问题。