ノードエクスプレスで一連の静的ルートを使用していて、非常に奇妙な現象が発生しています。ノードの静的ルーティング
は、ルーティングが'/list/*'
と'/setup/*'
が12345
に情報を格納しますページurl/setup/12345
上の情報を更新たとえば、ディレクトリはストレージIDとして種類の使用されているさまざまなHTML-ファイルになるように設定されています。
スクリプトなどを読み込むことができるようにするには、/assets/
と一致する正規表現を使用してurl/setup/assets/script.js
にアクセスし、新しいストレージIDを使用してsetup.html
にルーティングする必要があります。
私の問題は、これがurl/setup/assets/script.js
では動作しますが、同じルーティングを持っていてもurl/list/assets/script.js
では動作しないということです。
編集:url/list/assets/script.js
への移動
はlist.html
(不要動作)につながる
url/setup/assets/script.js
への移動は、「(行動を望んでいた)
理由上の任意のアイデアscript.js
につながります/リスト/ * '`は動かない?ここで
は私の静的ルートです:
app.use(/assets/, express.static(wwwPath));
app.use('/list/*', function(req, res, next) {
res.sendFile('list.html', { root: wwwPath });
});
app.use('/setup/*', function(req, res, next) {
res.sendFile('setup.html', { root: wwwPath });
});
複数のルールが同じパスに一致する競合するルールを作成しないと、より良い結果が得られます。今のところ、 ''/list/* ''と'/assets'の両方が、動作しないURLと一致します。おそらく、 '/ setup/assets'と'/list/assets'の静的ルールを作成するほうがずっと良いでしょう。そして、すべてが重なり合うことなく、矛盾なく、きれいになります。 – jfriend00
"/ list/*'はまったく意味がありますか? – Arbel
@Arbel - url/list/assets/script.jsに移動するとlist.htmlになります(不要な動作) url/setup/assets/script.jsに移動するとscript.jsが表示されます(動作が必要です) – Presidenten