1

私はそのようなディレクトリ構造を持つエクスプレスプロジェクトを持っています。

  • マイアプリ
    • ルート
      • index.js
    • ビュー
    • 公衆
    • コンポーネント
      • ツールバー
    • テスト
      • コンポーネント
      • ツールバー

ここで、私のルートから、コンポーネントツールバーを要求したいとしましょう。このようにします

ツールバー = 必須 (__dirname + '/../コンポーネント/ツールバー')

ここで、ルートのテストを実行するときに、ルートを要求する必要があります。これを行うと、実行時にツールバー ファイルが見つからないというエラーが表示されます。

この問題に遭遇しないように、require で使用できる __express_home などのグローバルな利用可能なものはありますか? 私はそれをそのまま使用します、

ツールバー = 必須 (__express_home + '/コンポーネント/ツールバー')

4

2 に答える 2

2

あなたはただ行うことができます:

toolbar = require('../components/toolbar')

Express の github リポジトリの例を次に示します。

var express = require('../..')
  , app = express()
  , site = require('./site')
  , post = require('./post')
  , user = require('./user');
于 2012-10-15T23:09:28.813 に答える
1

require() どこにいても相対パスを使用するだけです。

./routes/index.js ./config.js

./routes/index.js から

var cfg = require('../config');
于 2012-10-15T23:21:10.450 に答える