0

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 は両方とも同じタイプを指しています。そのような構造の目的は何ですか?

4

2 に答える 2

0

さらに詳しく見てみると、これはさまざまな戦略間で一貫性を持たせるために行われているように見えます。モジュールは複数の戦略をエクスポートできます。そのため、モジュールには戦略ごとに個別のプロパティがあります。ただし、この場合、モジュールには 1 つの戦略が含まれています。したがって、module.Strategy が戦略を返すように、モジュールとモジュール内のプロパティの両方として公開されているようです。

于 2014-09-17T12:53:45.980 に答える