Я создал приложение 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');
});
}