Javascript NodeJS从基于自定义模块的匿名函数获取对象
我第一次尝试NodeJS,这个服务器非常棒,但是我遇到了一个小问题,我不明白我做错了什么:( 我有两个文件:server.js和rules.js rules.js read rules.html必须将其内容返回到如下对象中:Javascript NodeJS从基于自定义模块的匿名函数获取对象,javascript,node.js,object,module,Javascript,Node.js,Object,Module,我第一次尝试NodeJS,这个服务器非常棒,但是我遇到了一个小问题,我不明白我做错了什么:( 我有两个文件:server.js和rules.js rules.js read rules.html必须将其内容返回到如下对象中: {'title':'Title','msg':'<div id="test">[...]</div>'} 然后像这样更改Rules.js socket.on('openBox', function(data) { if (data.id =
{'title':'Title','msg':'<div id="test">[...]</div>'}
然后像这样更改Rules.js
socket.on('openBox', function(data) {
if (data.id == 'rules') {
rules.getRule(data, function(error, data) {
if (!error) {
var rulesObj = {
"title": "Règles du chat",
"msg": data
};
} else {
var rulesObj = {
"title": "Erreur lors de la récupèration des règles du chat",
"msg": "<div id=\"error\">Une ereur s'est produite lors de la récupération des données, veuillez rééssayer plus tard...<br />Si le problème persiste signalez le</div>"
};
}
console.log(rulesObj);
socket.emit('openBox', rulesObj);
});
}
});
exports.getRule = function(data, callBackFunction) {
var fs = require('fs');
var rulesPath = __dirname + '/views/rules.html';
fs.readFile(rulesPath, {encoding:'utf-8'}, callBackFunction);
}
好的,我理解,但是我不能把整个代码都推到rules.js中?我希望极简主义的server.js能让代码更简单。谢谢
function(error, data) {
if (!error) {
var rules = {
"title": "Règles du chat",
"msg": data
};
} else {
var rules = {
"title": "Erreur lors de la récupèration des règles du chat",
"msg": "<div id=\"error\">Une ereur s'est produite lors de la récupération des données, veuillez rééssayer plus tard...<br />Si le problème persiste signalez le</div>"
};
}
return rules;
}
socket.on('openBox', function(data) {
if (data.id == 'rules') {
rules.getRule(data, function(error, data) {
if (!error) {
var rulesObj = {
"title": "Règles du chat",
"msg": data
};
} else {
var rulesObj = {
"title": "Erreur lors de la récupèration des règles du chat",
"msg": "<div id=\"error\">Une ereur s'est produite lors de la récupération des données, veuillez rééssayer plus tard...<br />Si le problème persiste signalez le</div>"
};
}
console.log(rulesObj);
socket.emit('openBox', rulesObj);
});
}
});
exports.getRule = function(data, callBackFunction) {
var fs = require('fs');
var rulesPath = __dirname + '/views/rules.html';
fs.readFile(rulesPath, {encoding:'utf-8'}, callBackFunction);
}