2017-01-24 4 views
0

/admin/item/[id]ルートからmy/publicフォルダressourcesにアクセスする際に問題があります。ここでNodeJS:Expressの第3レベルルートから静的リソースにアクセス

は、私のファイル構造である:

  • app.js
  • 管理
    • index.js
  • 公共
    • IMG
    • のJS
    • CSS

/app.js

app.use(express.static(path.join(__dirname, '/public'))); 

app.get('/', (req, res) => { 
    //Access OK 
    res.render('index'); 
}); 
app.use('/admin', adminRouter); 

/admin/index.js

router.use(express.static(path.join(__dirname, '../public'))); 
router.get('/upload/', (req, res) => { 
     //Access OK 
    res.render('admin/upload'); 
}); 
router.get('/album/:albumid', (req, res) => { 
    //No access 
    res.render('admin/album'); 
}): 

ルートを個別に設定する方法はありますか?これは良い練習ですか? express.staticを使って一般的なパスを設定する方法はありますか?

はすべて

+0

'/ admin/item/[id]' ??エンドポイントが表示されません –

+0

編集したいアルバムのIDを渡しています。例:/ album/id_of_the_album。ちょうどそれがこのポストで行われているように>> http://stackoverflow.com/questions/17398766/how-to-pass-parameter-to-routes – malux

+0

あなたが「パブリックフォルダへのアクセス」と言うときは、 UI?ビューをレンダリングしています。 –

答えて

0

はあなたのhtmlで次に

app.use('/static', express.static(path.join(__dirname, '../public'))); 

のような静的な資産の相対パスを定義します、ありがとうございました。

<link rel="stylesheet" href="/static/css/style.css" type="text/css"> 

O静的なフォルダ構造ですが、

+0

そして、この相対パスは、3番目のレベルの2番目のすべてのルートで同じになりますか? – malux

+0

エンドポイントがどこにあっても、ドメインとの相対的なスラッシュ 'href ="/static/'に注目してください。 –

+0

ありがとう – malux

関連する問題