Node/Angular app Uncaught SyntaxError:意外的令牌<

Gro*_*ler 7 javascript node.js angularjs

我正在关注此节点/角度教程,并收到以下错误:

在此输入图像描述

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

module.exports = function(app) {

    app.get('*', function(req, res) {
        res.sendfile('./public/index.html');
        ...
    });
Run Code Online (Sandbox Code Playgroud)

哪个呈现:

<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>
Run Code Online (Sandbox Code Playgroud)

我希望Node处理初始页面加载,但是Angular可以处理其余的路由.问题在于:似乎我的角度路由不起作用.我run()在那里放了一个自我执行测试,但它没有被调用.

我只是想测试显示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'
                });
        }
    ]);
Run Code Online (Sandbox Code Playgroud)

角度误差不是很有帮助.我不知道是什么Unexpected token <意思,因为我无法找到我在<任何地方添加额外内容的地方.


编辑:

app.get('/', function(req, res) {
    res.send('./public/index.html'); 
});
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

它应该能够找到凉亭组件中的东西,因为路径是正确的:

root/bower_components/angular/angular.js
root/bower_components/angular-route/angular-route.js
Run Code Online (Sandbox Code Playgroud)

Cla*_*ies 16

您缺少服务器上的应用程序文件中的某些设置来处理对服务器发出的所有请求.这是一个基本的示例工作快速文件,您可以根据自己的环境进行修改:

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 });
});
Run Code Online (Sandbox Code Playgroud)

此文件用于express.static提供特定目录中的任何内容,无论名称或类型如何.另请注意,Express use语句按顺序处理,并且第一次匹配,第一次匹配后的任何匹配都将被忽略.因此,在这个例子中,如果它不是一个文件中的/js,/bower_components,/css,或/partials目录,index.html将被退回.