错误消息显示意外的尖括号,但应该没有意外的尖括号

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 的内容响应对您服务器的每个请求。所以有问题的&lt;index.html 文件&lt;!DOCTYPE HTML&gt; 第一行的那个。 (在“网络”选项卡中查看浏览器的开发工具,并查看服务器为这些 javascript 文件返回的内容。)

您需要查看请求的内容并返回正确的资源(请参阅IncomingMessage 的文档,这就是request 的含义——例如,您可以从其url 属性中获取请求的URL),或者使用一个很乐意为你做这件事的库(比如 ExpressJS)。

【讨论】:

谢谢。了解错误真正与什么有关是很有用的。我现在看看能不能解决。 @AmyTMcBride:所以你知道:当我第一次开始使用 NodeJS 的 http 东西时,我完全做了同样的事情(嗯,不完全是;对我来说是 CSS而不是 JS 文件)。

以上是关于错误消息显示意外的尖括号,但应该没有意外的尖括号的主要内容,如果未能解决你的问题,请参考以下文章

不平衡或意外的括号或括号 MATLAB

GNU Make 变量“意外令牌”

PHP解析错误(意外的T_IF)[重复]

成功禁止某人时,Discord Bot 意外退出并出现错误

seletedValues.filter 方法的意外标记,预期

解析错误:语法错误,文件意外结束[重复]