错误消息显示意外的尖括号,但应该没有意想不到的尖括号
我写了一些代码,我从我的节点服务器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);
为什么出现有关意外尖括号的错误?
您正在使用index.html
的内容来响应您对服务器的每个请求。 因此, <
index.html
文件的第一行是<!DOCTYPE HTML>
。 (在“networking”选项卡中查看浏览器的开发工具,然后查看服务器为这些JavaScript文件返回的内容。)
您需要查看所请求的内容并返回正确的资源(请参阅IncomingMessage
的文档,这是一个request
– 例如,您可以从url
属性中获取请求的URL),或者使用一个库(如ExpressJS)很高兴为你做到这一点。