首页 > 解决方案 > 意外的令牌 <,javascript 文件被呈现为 html?

问题描述

我使用 node.js 设置服务器,它加载 html 文件,然后在 javascript 脚本中加载 html 文件。在 chrome 中查看开发工具时,它显示错误“Unexpected token <”,当我进一步检查时,它显示 javascript 文件由于某种原因被加载为 html 文件。

我试图在网上查看其他答案,但我无法在这里找出问题......

index.js 呈现为 html:https ://gyazo.com/1d56121bfa169be139a3eb7d263a4785

启动时运行的服务器文件

let http = require('http');
let fs = require('fs');

let handleRequest = (request, response) => {
    response.writeHead(200, {
        'Content-Type': 'text/html'
    });
    fs.readFile('./index.html', null, function (error, data) {
        if (error) {
            response.writeHead(404);
            respone.write('Whoops! File not found!');
        } else {
            response.write(data);
        }
        response.end();
    });
};

http.createServer(handleRequest).listen(8000);
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Snek</title>
</head>
<body>
    <h4>A</h4>
    <canvas id="canvas" width="600" height="600" style="background-color: gray">Unsupported canvas</canvas>
</body>
<script src="/scripts/vue.js"></script>
<script src="/scripts/index.js"></script>
</html>

这个想法是运行 server.js,读取 html 文件,然后 html 文件加载 js 脚本。

标签: javascripthtmlnode.jshttp

解决方案


推荐阅读