我从Thinkster.io学习MEAN,第二步他在屏幕上显示虚拟hello world输出。当我尝试复制时,我收到以下错误:
$ node app
F:\nodeProjects\flapperNews\app.js:3
angular.module('flapperNews')
^
ReferenceError: angular is not defined
at Object.<anonymous> (F:\nodeProjects\flapperNews\app.js:3:1)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
at Module.runMain (module.js:604:10)
at run (bootstrap_node.js:394:7)
at startup (bootstrap_node.js:149:9)
at bootstrap_node.js:509:3
我的app.js如下:
angular.module('flapperNews', []).controller('MainCtrl', [
'$scope',
function($scope){
$scope.test = "Hello World";
}]);
和index.html如下:
<!DOCTYPE html>
<html>
<head>
<title>My Angular App</title>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
<script src="app.js"></script>
</head>
<body ng-app ="flapperNews" ng-controller="MainCtrl">
</body>
</html>
我已经对这个错误进行了一些研究,其中解决方案是正确放置标签,但这对我来说并没有解决问题。 有人可以解释这里错过了什么以及如何启动服务器。 感谢
答案 0 :(得分:2)
您正在使用后端混淆前端,您正尝试使用nodejs后端服务器执行app.js
文件内的前端代码,就像它是一个nodejs脚本一样。
您需要做的是使用网络浏览器为您的angularjs前端加载html和js。
您只需使用Web浏览器打开html文件(双击html文件)即可,或者您可以创建Web服务器并使用apache,nginx或nodejs / express服务器等提供html和js文件。 / p>
点击此处的最后一项Node js as http server and host angularJS SPA和https://scotch.io/tutorials/creating-a-single-page-todo-app-with-node-and-angular
了解详情