我遵循“MEAN Machine”一书,我试图用Express创建一个Angular,但我一直跑到这个错误,当我打电话Angular.min.js:Angular 1.5.x“angular.min.js:1 Uncaught SyntaxError:Unexpected token <”Error
"Uncaught SyntaxError: Unexpected token <"
我一直在寻找周围一小时左右,现在并没有能够解决它。
这里是我的快递编号:
var express = require('express'),
app = express(),
bodyParser = require('body-parser'),
morgan = require('morgan'),
cors = require('cors'),
path = require('path'),
config = require('./config.js');
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(cors());
app.use(morgan('dev'));
app.use(express.static(__dirname + '/public'));
app.get('*', function(req, res) {
res.sendFile(path.join(__dirname + '/public/app/index.html'));
});
app.listen(config.devPort);
console.log('Running on ' + config.devPort);
这里就是我的index.html,其中角被称为:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Homepage</title>
<base href="/">
</head>
<body ng-app="sample">
<h1>Welcome to the homepage!</h1>
<div ng-controller="ScheduleCtrl as schedule">
<h1 ng-bind="schedule.test"></h1>
</div>
<!-- inject:js -->
<script src="/public/assets/lib/angular/angular.min.js"></script>
<script src="/public/app/app.js"></script>
<script src="/public/app/modules/schedule/schedule.controller.js"></script>
<!-- endinject -->
</body>
</html>
这里的app.js文件:
(function() {
'use strict';
angular
.module('sample', []);
})();
这里的schedule.controller.js文件:
(function() {
'use strict';
angular
.module('sample'),
.controller('ScheduleCtrl', ScheduleCtrl);
ScheduleCtrl.$inject = [];
function ScheduleCtrl() {
var vm = this;
vm.test = "Hello World!";
};
})();
编辑: 我检查了我的控制台和文件的路径,给我304:
GET/304 1.934 ms - -
GET /public/assets/lib/angular/angular.min.js 304 2.262 ms - -
GET /public/app/app.js 304 2.578 ms - -
GET /public/app/modules/schedule/schedule.controller.js 304 2.855 ms - -
好像你有一个额外的'''在某处。尝试使用非缩小版本的Angular,错误输出会告诉你它抱怨的行。 – Lex
@Lex我将它切换到非缩小版本,但错误输出不会告诉我它抱怨的行。错误输出与缩小版本相同。 – mcjc4
你可以发布一些'schedule.controller.js'吗?你拥有所有的关键来诊断这个问题,并且错误信息非常清楚,有一个'<'不是所期望的。 – Lex