2017-01-17 15 views
0

私は静ファイル(JS、画像、CSS)提供するために以下のコードを使用しています:異なる場所のExpressJsから画像やJSをサーブ:ノード

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

をしかし、今の画像は、いくつかの別の場所に移動されましたプロジェクト、すなわちpublicディレクトリの外側にあります(たとえば、imagesとします)。

どのようにして画像とjs、cssファイルを区別し、別の場所から配信するのですか?私は私がリクエストヘッダを読み、どこルート要求をすることを決定しなければならないと思い

EDIT

。しかし、私は少し汚れているようです。
:あなただけの1に多くの静的ファイルの設定を追加する必要があり、その場合には

答えて

0

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

そして、それは

http://example.com/files-from-images-folder

+0

を試みたが、今の私のjsとcssファイルが提供されていません。また、リンクが正しく表示されない –

+0

"public"フォルダ内のこの画像フォルダですか? –

+0

パブリックフォルダの外側にはありません –

2

として提供されますは、2つの別々のエンドポイントで試してみてください

import express from "express"; 
import {join} from 'path'; 

    const app = express();  


    const publicPath = express.static(join(__dirname, '../public/')); 
    const publicImages = express.static(join(__dirname, '../images/')); 

    app.use('/public', publicPath); 
    app.use('/images', publicImages); 


    app.listen(3400, function() { 
     console.log("Express server listening on port 3400"); 
    }); 

次に、あなたはこのようにそれを使用する:http://localhost:3400/images/http://localhost:3400/public/

関連する問題