Я пытаюсь выполнить некоторый js-код, совместно используемый между браузером и сервером nodejs. Для этого я просто использую следующие методы: http://caolanmcmahon.com/posts/writing_for_node_and_the_browser/Nodejs referencing module.exports
Проблема в том, когда я хочу экспортировать функцию, а не объект. В узле вы могли бы сделать что-то вроде:
var Constructor = function(){/*code*/};
module.exports = Constructor;
так, что, когда требуют используется вы можете сделать:
var Constructor = require('module.js');
var oInstance = new Constructor();
Проблема заключается в том, когда я пытаюсь ссылаться на module.exports объект в модуле и использования эта ссылка для перезаписи его с моей функцией. В модуле это будет:
var Constructor = function(){/*code*/};
var reference = module.exports;
reference = Constructor;
Почему это не работает? Я не хочу использовать простое решение для вставки if внутри чистого кода, но я хочу понять, почему он является незаконным, хотя ссылка === module.exports истинна.
Благодаря