1

私のコードでは、現在持っています

app.use(express.static(__dirname + "/../styles"))
app.use(express.static(__dirname + "/../public"))
app.use(express.static(__dirname + "/../scripts"))
app.use("/flosses", express.static(__dirname + "/../styles"))
app.use("/flosses", express.static(__dirname + "/../public"))
app.use("/flosses", express.static(__dirname + "/../scripts"))
app.use("/flosses/edit", express.static(__dirname + "/../styles"))
app.use("/flosses/edit", express.static(__dirname + "/../public"))
app.use("/flosses/edit", express.static(__dirname + "/../scripts"))
app.use("/accounts", express.static(__dirname + "/../styles"))
app.use("/accounts", express.static(__dirname + "/../public"))
app.use("/accounts", express.static(__dirname + "/../scripts"))

これは非常に面倒です。私はこのようなことをすることができますか?

app.use("*",express.static(__dirname + "/../scripts"))

注: css、js、画像は 3 つの異なるディレクトリにあり、/thing1/index.css、/thing2/index.css などが必要です。

ありがとう、
アリ

4

2 に答える 2

1

これを使用できます。これは少しハックな IMO ですが、動作するはずです。

// place this after your routes
app.routes.get.forEach(function(r) {
  app.use(r.path, express.static(__dirname + '/public'));
});

これはルートに対してのみ機能しGET(したがって)、すべてのapp.routes.getルートに対して必要ではない可能性があるため、必要なルートのみを選択するようにフィルターをかけることができます)。また、パフォーマンスへの影響についてはわかりません。r.path

于 2013-03-10T18:29:17.520 に答える
1

アプリケーション URI のすべてのレベルに静的を追加するのではなく、Web サイトのルートで静的を参照してみませんか?

それがほとんどの人が行うことであり、これらのフレームワークが設計されていることです。

于 2013-03-11T16:40:09.580 に答える