EFAULT: неверный адрес в аргументе системного вызова Ошибка в Nodejs - PullRequest
0 голосов
/ 10 июля 2019

Я создал приложение Nodejs с модулем node-static для обработки статических файлов, таких как CSS, внешние JS-файлы и JSON-файлы, но это «EFAULT: неверный адрес в ошибке аргумента системного вызова» происходит при каждой загрузке.Кто-нибудь может мне помочь с этим вопросом?Я думаю, что что-то не так с Http Header или с тем, как я использую статические модули узлов, вызывает эту ошибку.

0|index  | { Error: listen EFAULT: bad address in system call argument :::3300
0|index  |     at Server.setupListenHandle [as _listen2] (net.js:1279:14)
0|index  |     at listenInCluster (net.js:1327:12)
0|index  |     at Server.listen (net.js:1414:7)
0|index  |     at Object.<anonymous> (D:\CodeTest\codest_3\index.js:224:8)
0|index  |     at Module._compile (internal/modules/cjs/loader.js:776:30)
0|index  |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:787:10)
0|index  |     at Module.load (internal/modules/cjs/loader.js:653:32)
0|index  |     at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
0|index  |     at Function.Module._load (internal/modules/cjs/loader.js:585:3)
0|index  |     at Object.<anonymous> (C:\Users\NINENORTH\AppData\Roaming\npm\node_modules\pm2\lib\ProcessContainerFork.js:27:21)
0|index  |   code: 'EFAULT',
0|index  |   errno: 'EFAULT',
0|index  |   syscall: 'listen',
0|index  |   address: '::',
0|index  |   port: 3300 }

И это код JS, который вызывает ошибку

const http = require('http')
const fs = require('fs');
const qs = require('querystring');
const path = require('path')
const static = require('node-static');
const internalIp = require('ip');
var template = require('./lib/template.js');
var file = new static.Server(__dirname);


const server = http.createServer((req, res) => {

  // Dont know why it causes occasional 404...
  file.serve(req, res);

  var myLocaIP = internalIp.address();
  if (req.url === '/') {
    let filePath = path.join(__dirname, '/', req.url);
    let extname = path.extname(filePath);
    let contentType = 'text/html';
    switch (extname) {
      case '.js':
        contentType = 'text/javascript';
        break;
      case 'css':
        contentType = 'text/css';
        break;
      case '.json':
        contentType = 'application/json';
        break;
      case '.jpg':
        contentType = 'image/png';
        break;
      case '.js':
        contentType = 'image/jpg';
        break;
      }

    // ============== Add Note Box ==========================================
    fs.readFile(path.join(__dirname, 'data', 'note_txt.txt'), (err, data) => {
     notetxt=String(data);
    });


    // ============== create LISTs from JSON ==========================================

    fs.readFile(path.join(__dirname, 'data', 'url_list.json'), (err, data) => {
      if (err) {
        console.error('There was an error reading the file!', err);
        console.log(error.code);
      }
      var list_a = '';
      var list_b = '';
      var list_c = '';
      var list_d = '';

      var obj = JSON.parse(data);

      list_a = appendItem(obj, 'listA', list_a);
      list_b = appendItem(obj, 'listB', list_b);
      list_c = appendItem(obj, 'listC', list_c);
      list_d = appendItem(obj, 'listD', list_d);

      var html = template.html(list_a, list_b, list_c, list_d, notetxt, myLocaIP);
      res.writeHead(200, { 'Content-Type': contentType });
      res.end(html, 'utf-8');
    });
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...