Node / Angular应用程序未捕获SyntaxError:意外的标记<

我正在关注这个节点/angular度教程,并得到以下错误:

在这里输入图像描述

我通过节点引导我的应用程序,该节点呈现索引页面:

module.exports = function(app) { app.get('*', function(req, res) { res.sendfile('./public/index.html'); ... }); 

其中呈现:

 <html ng-app="DDE"> <head> <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.min.js"></script> <script src="bower_components/angular/angular.js"></script> <script src="bower_components/angular-route/angular-route.js"></script> <script src="js/app.js"></script> <script src="js/controllers/main.js"></script> </head> <body> This is the index page <div ng-view></div> 

我想要Node来处理初始页面加载,但是Angular来处理其余的路由。 问题在这里:似乎我的angular度路由没有工作。 我在那里放了一个自我执行的run()来testing,但是没有被调用。

我只是试图显示testpage.html模板:

app.js文件:

 angular .module('DDE', [ 'ngRoute' ]) .config(['$routeProvider', function($routeProvider) { $routeProvider. when('/test', { run : (function() { alert('hit'); })(), templateUrl: '../html/partials/testpage.html' }). otherwise({ redirectTo: '/test' }); } ]); 

angular度误差不是很有帮助。 我不知道什么Unexpected token <手段,因为我无法find我已经添加了一个额外的<任何地方。


编辑:

 app.get('/', function(req, res) { res.send('./public/index.html'); }); 

在这里输入图像描述

它应该能够find凉亭组件中的东西,因为path是正确的:

 root/bower_components/angular/angular.js root/bower_components/angular-route/angular-route.js 

您在服务器上的应用程序文件中缺less一些设置,以处理对服务器发出的所有请求。 这里是一个基本的示例工作快速文件,您可以修改以适应您的环境:

 var express = require('express'); var app = express(); app.use('/js', express.static(__dirname + '/js')); app.use('/bower_components', express.static(__dirname + '/../bower_components')); app.use('/css', express.static(__dirname + '/css')); app.use('/partials', express.static(__dirname + '/partials')); app.all('/*', function(req, res, next) { // Just send the index.html for other files to support HTML5Mode res.sendFile('index.html', { root: __dirname }); }); 

此文件使用express.static来提供特定目录中的任何内容,而不pipe名称或types如何。 另请注意,Express使用语句按顺序处理,并且首先匹配,第一个匹配被忽略后的任何匹配。 因此,在本例中,如果它不是/js/bower_components/css/partials目录中的文件,则会返回index.html