簡體   English   中英

如何使用快遞在“公共”中提供文件夾

[英]How to serve folder in 'public' with express

我正在嘗試在 express 中為我的公共文件夾中的登錄頁面提供服務,到目前為止我一直無法這樣做。 我試圖走這條路,但我不知道為什么它不起作用。 我想要的是,我可以在回調中擁有更多代碼,但由於現在的方式,我可以這樣做,當我嘗試使回調成為完整功能時,它也無法工作。

My folder structure
- root
  - server
    - server.js
  - public
    - login
      - index.html

 const express = require('express'); const app = express(); const path = require('path'); app.listen(4000); console.log('server started\\n'); app.get('/', () => app.use(express.static(__dirname + '/public/login'))); // what i want to have app.get('/', () => { // serve file });

你應該在服務器啟動時直接掛載靜態文件服務,而不是在第一個請求到達之后,所以這一行:

app.get('/', () => app.use(express.static(__dirname + '/public/login')));

必須:

app.use(express.static(__dirname + '/../public/login'));

當代碼在/server/目錄中啟動時,您還必須上一個文件夾,這可以使用/../完成。

如果您只想從公共文件夾而不是那里的所有文件為 index.html 提供服務,您可以做的是

app.get('/', (req, res) => res.sendFile('index.html', { root: __dirname + '/../public/login'));

暫無
暫無

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

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