https://github.com/jaredhanson/passport-local/blob/master/lib/index.jsには、次のような構造があります。
/**
* Module dependencies.
*/
var Strategy = require('./strategy');
/**
* Expose `Strategy` directly from package.
*/
exports = module.exports = Strategy;
/**
* Export constructors.
*/
exports.Strategy = Strategy;
Strategy が 2 回 (直接およびプロパティ Strategy を介して) エクスポートされているようです。つまり、require('passport-local') と require('passport-local').Strategy は両方とも同じタイプを指しています。そのような構造の目的は何ですか?