从不同位置提供图像和 js ExpressJs:Node

me_*_*jay 2 static-content node.js express

我使用下面的代码来提供静态文件(js、图像、css):

app.use(express.static(path.join(__dirname, 'public')));
Run Code Online (Sandbox Code Playgroud)

但现在图像已被移动到项目中的某个不同位置,即public目录之外(可以说。images)。

那么如何区分图像和 js、css 文件并从不同位置提供它们呢?

编辑

我想我必须阅读请求标头,然后决定将请求路由到哪里。但对我来说看起来有点脏。

Hos*_*sar 5

尝试使用两个单独的端点:

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");  
    });
Run Code Online (Sandbox Code Playgroud)

然后你像这样使用它:http://localhost:3400/images/并且http://localhost:3400/public/