簡體   English   中英

如何在沒有app.js文件夾中使用express.static?

[英]How to use express.static in none app.js folder?

我試圖通過從服務器端使用express.static來顯示圖像。

我的文件夾是這樣的結構..

    public 
     /test.png
    routes
     /index.js
     /upload.js
    app.js

app.js下的express.static工作( http:// localhost:4000 / img / test.png

    const express = require('express');
    const app = express();
    app.use('/img', express.static(__dirname + '/public'));

    // Server Listen
    const port = process.env.PORT || 4000;

    app.listen(port, () => {
    console.log(`Server running on port: ${port}`);
    });

但它在upload.js( http:// localhost:4000 / img / test.png )下工作,我在這里做錯了什么? 通過安慰,這條道路似乎是正確的道路。

upload.js

    const express = require('express');
    const upload = express.Router();
    const cors = require('cors');
    const path = require("path");

    upload.use(cors());

    console.log(path.join(__dirname + '/../public'));
    upload.use('/img', express.static(path.join(__dirname + '/../public')));

    module.exports = upload;

這是我的index.js和app.js

index.js

    const router = require('express').Router();
    const uploadRoutes = require('./upload');
    router.use('/upload', uploadRoutes);

    module.exports = router;

app.js

     // Import thrid parties for APP
     const express = require('express');
     const cors = require('cors');
     const bodyParser = require('body-parser');
     const app = express();
     const routes = require('./routes');

     // App configuration
     app.use(bodyParser.json());
     app.use(cors());
     app.use(bodyParser.urlencoded({
       extended: false
      }));

     // Route Configuration
     app.use('/api', routes);


     // Server Listen
     const port = process.env.PORT || 4000;

    app.listen(port, () => {
     console.log(`Server running on port: ${port}`);
    });

謝謝你的看法。

我認為它應該像app.use('/img', express.static(__dirname + 'public'));

沒有必要在兩個文件中使用express.static 它通常放在條目文件(app.js)中。

以下是快速文檔中的示例(注意/不是必需的):

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM