Uncaught SyntaxError: Unexpected token < jquery.min.js:1

Posted

技术标签:

【中文标题】Uncaught SyntaxError: Unexpected token < jquery.min.js:1【英文标题】: 【发布时间】:2016-09-19 14:22:57 【问题描述】:

我正在尝试将 bower 用于 nodejs 项目并使用它安装 jquery+bootstrap。但我总是得到主题错误。我不知道出了什么问题。

代码在这里:

jsfiddle.net/valsaven/8d6e03um/

文件夹结构:

聊天

bower_components node_modules app.js index.html

【问题讨论】:

【参考方案1】:

问题出在您正在处理请求的后端代码中,而不是在前端。

var app = http.createServer(function(req, res) 
    res.writeHead(200, 
      'Content-type': 'text/html'
    );
    res.end(index);
);

此代码针对所有请求执行,包括 jscss 文件。因此,您将在js 请求中获得index.html 的内容。因此,javascript 引擎在解析包含 html &lt; 标签的文件时会显示错误。

可能的解决方案是定义具体的路线。

var http = require('http'),
 fs = require('fs'),
 path = require('path'),
 express= require('express'),
 index = fs.readFileSync(__dirname + '/index.html');

var app = express();
var server = require('http').Server(app);
var io = require('socket.io')(server);

app.use('/bower_components', express.static('bower_components'));

app.get('/', function(req, res)
   res.writeHead(200, 
      'Content-type': 'text/html'
   );
   res.end(index);
);

server.listen(3000, function() 
   console.log('Server listening on port 3000');
);

【讨论】:

以上是关于Uncaught SyntaxError: Unexpected token < jquery.min.js:1的主要内容,如果未能解决你的问题,请参考以下文章

Uncaught (in promise) SyntaxError: Unexpected end of JSON input error

面对“Uncaught SyntaxError: Unexpected token ''”

Uncaught SyntaxError: Invalid shorthand property initializer

Webpack Babel 加载错误 - Uncaught SyntaxError: Unexpected token import [重复]

Uncaught SyntaxError: Invalid shorthand property initializer

解决 Uncaught SyntaxError: Unexpected token ‘<‘ 问题的一个方法