0

ノード/エクスプレスにシンプルなアプリがあり、ネットでコースを見た後、アプリのルートをリファクタリングするのに役立ちましたが、少し問題がありました。

問題は、ルートがnedbアクセス ポイントのインスタンスである「db」という変数を使用していることです。

var db = {
  users: new nedb({ filename: "db/users.db", autoload: true })
};

もちろん、すべてのルート ファイルの先頭にある 5 行のコードをコピーして宣言することはできますが、それはあまり DRY ではありません。

別のファイルに入れて変数をエクスポートしようとしました:

...
module.exports = db;

そして、次のようにすべてのファイルにインポートします。

var db = require("./db");
...

しかし、これは期待どおりに機能しませんでした (エラーは次のとおりです: モジュール './db' が見つかりません)

これは私のファイルの単純化された構造です

db/
    users.db
routes/
    users.js
app.js
db.js

これを解決するためのアイデアやベストプラクティス/エレガントな方法はありますか?

ありがとうございました。

4

1 に答える 1

0

相対パスで要求する必要があります。/routes フォルダー内が必要な場合は、次のように記述する必要があります。

var db = require("../db");
于 2015-03-17T10:53:13.637 に答える