错误消息显示意外的尖括号,但应该没有意外的尖括号
Posted
技术标签:
【中文标题】错误消息显示意外的尖括号,但应该没有意外的尖括号【英文标题】:Error message shows unexpected angle bracket, but there should be no unexpected angle bracket 【发布时间】:2016-11-20 07:26:07 【问题描述】:我已经编写了一些代码,我使用node.js
从我的节点服务器提供服务。我的 html 服务很好,但是当我开始向 index.html
文件添加脚本时,我发现开发人员控制台中出现了最奇怪的错误:
Uncaught SyntaxError: Unexpected token < jquery-1.12.4.min.js:1
Uncaught SyntaxError: Unexpected token < hack.js:1
这是我的 HTML:
<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" type="text/css" href="hack.css">
</head>
<body>
<h1>Colour Hack v1.0</h1>
<p>Guess the correct values for each colour to unlock information on the European Union.</p>
<script src="jquery-1.12.4.min.js"></script>
<script src="hack.js"></script>
</body>
</html>
hack.js
代码:
const box = "<canvas>BOX</canvas>"
$(document).ready(function()
$("p").append(box);
);
而节点服务器(server.js
)代码为:
//Import http and file server libraries
const http = require('http');
const fs = require('fs');
//Define port for comms
const PORT = 8080;
//Start server
http.createServer(function(request, response)
response.writeHead(200);
fs.readFile('index.html', function(err, contents)
response.write(contents);
response.end;
);
).listen(PORT);
console.log('Server listening on port: %s', PORT);
为什么会出现关于意外尖括号的错误??
【问题讨论】:
【参考方案1】:您正在使用index.html
的内容响应对您服务器的每个请求。所以有问题的<
是index.html
文件<!DOCTYPE HTML>
第一行的那个。 (在“网络”选项卡中查看浏览器的开发工具,并查看服务器为这些 javascript 文件返回的内容。)
您需要查看请求的内容并返回正确的资源(请参阅IncomingMessage
的文档,这就是request
的含义——例如,您可以从其url
属性中获取请求的URL),或者使用一个很乐意为你做这件事的库(比如 ExpressJS)。
【讨论】:
谢谢。了解错误真正与什么有关是很有用的。我现在看看能不能解决。 @AmyTMcBride:所以你知道:当我第一次开始使用 NodeJS 的http
东西时,我完全做了同样的事情(嗯,不完全是;对我来说是 CSS而不是 JS 文件)。以上是关于错误消息显示意外的尖括号,但应该没有意外的尖括号的主要内容,如果未能解决你的问题,请参考以下文章