Javascript 文件读取永远不会完成

Javascript 文件读取永远不会完成,javascript,node.js,Javascript,Node.js,我试图通过nodeJS提供静态文件,并且我能够提供图像和html页面,但是当我请求样式表和javascript文件时,请求一直处于挂起状态,永远不会结束。下面是代码相关部分的片段和网络截图 节点JS部分: index.js "use strict"; const http = require('http'); const requestModule = require('./Modules/Request'); const header = require('./Modules/Heade

我试图通过nodeJS提供静态文件,并且我能够提供图像和html页面,但是当我请求样式表和javascript文件时,请求一直处于挂起状态,永远不会结束。下面是代码相关部分的片段和网络截图

节点JS部分:

index.js

"use strict";

const http = require('http');

const requestModule = require('./Modules/Request');
const header = require('./Modules/Header');

const server = http.createServer(function (request, response) {
    switch (request.method) {
        case 'GET':
            requestModule.getRequest(request, response);
            break;
        case 'POST':
            requestModule.postRequest(request, response);
            break;
        default:
            response.writeHead(501, header['plain']);
            response.end();
            break;
    }
});

server.listen(8119);
请求模块

    "use strict";

const url = require('url');
const fs = require("fs");
const crypto = require('crypto');
const header = require('./Header').header;
const helper = require('./Helper');

module.exports.getRequest = function (request, response) {
  let sentURL = url.parse(request.url, true);
  let path = sentURL.pathname;
  let content = sentURL.query;
  let body = '';

  request.on('data', function (chunk) {
    body += chunk;
  });

  request.on('end', function () {
    switch (path) {
      case '/': //THIS PART WORKS
        fs.readFile('../Frontend/index.html', function (err, data) {
          if (err) throw err;
          response.writeHead(200, header['html']);
          response.write(data);
          response.end();
        });
        break;
      case '/style.css':
        fs.readFileSync('../Frontend/style.css', function (err, data) {
          if (err) throw err;
          response.writeHead(200, header['css']);
          response.write(data);
          response.end();
        });
        break;
      case '/main.js':
        fs.readFileSync('../Frontend/_main.js', function (err, data) {
          if (err) throw err;
          response.writeHead(200, header['plain']);
          response.write(data);
          response.end();
        });
        break;
标题模块:

    plain: {
    'Content-Type': 'application/javascript',
    'Cache-Control': 'no-cache',
    'Access-Control-Allow-Origin': '*'
},
html: {
    'Content-Type': 'text/html',
    'Cache-Control': 'no-cache',
    'Access-Control-Allow-Origin': '*'
},
css: {
    'Content-Type': 'text/css',
    'Cache-Control': 'no-cache',
    'Access-Control-Allow-Origin': '*'
},

您正在对CSS和JavaScript使用
fs.readFileSync
,而不是
fs.readFile
Sync
版本从不调用回调,因为它是同步的(而是返回数据)。在这两个case分支中,只需将
fs.readFileSync
更改为
fs.readFile