![](/img/trans.png)
[英]How to serve files from express 4.0 public folder as formatted html and not files, based on extension? E.g. format JSON, show images
[英]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.