#javascript #node.js #express #cluster-computing
#javascript #node.js #выразить #кластерные вычисления
Вопрос:
Я работаю над экспресс-приложением и столкнулся со странным поведением в отношении module.exports
.
server.js
var server = cluster(app).use(cluster.debug()).listen(3000);
module.exports.cluster = server;
index.js
// Works
var server = require('./server');
console.log(server.cluster); // = Cluster object
# Doesn't work:
var server = require('./server').cluster;
console.log(server); // = undefiend
На мой взгляд, оба решения должны работать так же, как и при работе с mongoose или около того. Это происходит только при экспорте learnboost cluster
. Есть идеи?
Заранее спасибо!
Комментарии:
1. Вероятно, у вас есть циклическая зависимость в ваших модулях, поэтому экспортируемый объект на самом деле не готов к первой точке вызова.
2. значит, второй никогда не будет работать, за исключением того, что экспортируемое значение готово, как строки и прочее?
3. Это зависит от того, мне нужно будет просмотреть все
require()
вызовы в обоих файлах, чтобы подтвердить, что это возможно; похоже, вы поделились только частью.4.Да, это была только часть. Полный код: server.js : pastie.org/2750393 index.js : pastie.org/2750387
5. Не выглядит проблематичным, если
app
только не требует того, что вы не опубликовали.