[英]Why post requests on other files than server.js doesn't work in node.js?
[英]Node.js Module import doesn't Work in one file but in other files
你好我有一個問題
我有一個模塊並創建對象“事件”,然后在我的應用程序中將該對象導出為其他模塊。
但是在我的模塊之一中,它不起作用。 我要保存的變量的值為“ undefined”
我不明白為什么
這是我的開始文件[app.js]
console.log('[Server] run...');
require('./SCAN/Scan');
require('./eventHandler/eventHandler');
require('./database/database');
require('./socket-server/socket-server');
require('./scanner/scanner');
在此文件中,我創建了事件對象
require('./eventHandler/eventHandler');
來自eventHandler的內容
console.log('[Server] eventHandler.js loaded!');
let io = require('./../socket-server/socket-server').io_ex;
let Event = new ( require('events').EventEmitter)();
exports.EventEmitter_ex = Event;
文件套接字服務器:
console.log('[Server] socket-server.js loaded!');
let Scan = require('./../SCAN/Scan').Scan_ex;
// create Server and listen on Port 8181
let app = require('express')();
let server = require('http').Server(app).listen(8181);
let io = require('socket.io')(server);
let EventEmitter = require('./../eventHandler/eventHandler').EventEmitter_ex;
io.on('connection', function (socket) {
console.log('[Socket] User Connected!');
if (!Scan.j > 0) {
return
}
// do if user connect
socket.on('fetchData', function () {
socket.emit('getFetch', Scan);
socket.emit('newStatus', Scan.status);
console.log('[Socket] getFetch Send!');
});
socket.on('disconnect', function () {
console.log('[Socket] User Disconnect');
});
//User Registierung
socket.on('register_user', function (userData) {
let regExp = /^[A-Za-z0-9]*[A-Za-z0-9]$/;
console.log('[APP - Registrierung] - Registrierung empfangen!');
if (!regExp.test(userData.username) && !regExp.test(userData.passwort)) {
console.log('[APP - Registrierung] - Fehlerhafte Daten von UserData');
return
}
let name = userData.username.toString();
let passwort = userData.passwort.toString();
let deviceID = userData.uuid.toString();
let user = {
u_name: name,
u_password: passwort,
u_uuid: deviceID
};
});
});
//----------------------------
exports.io_ex = io;
為什么在以下位置導入未定義:
let EventEmitter = require('./../eventHandler/eventHandler').EventEmitter_ex;
因為您需要eventHandler模塊中的套接字服務器模塊。 這意味着套接字服務器模塊在eventHandler模塊設置其EventEmitter_ex導出的值之前初始化。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.