簡體   English   中英

嘗試訪問index.html時Express Server返回“無法獲取”

[英]Express Server returns Cannot Get when trying to access index.html

我提到了先前提出的問題,但無法解決。 我已經安裝了Express服務器,並試圖通過它運行Index.html文件。 但我得到“無法獲取/”作為響應。

這是server.js,通過它我稱為index.html

var express = require('express');
var app = express();

app.get('index.html', function (req, res) {

  app.use("/", express.static(__dirname));
});

var server = app.listen(3000, function () {
  var host = server.address().address;
  var port = server.address().port;

  console.log('Example app listening at http://%s:%s', host, port);
});

提前致謝!!

當訪問托管站點上的目錄時,例如使用端口http://localhost:8080/表示端口8080上localhost的根目錄,瀏覽器不會向服務器發送“ index.html”請求,使用服務器發回的任何內容。

這是快速靜態靜態中間件,它會響應沒有文件名的瀏覽器請求,將檢查該文件夾是否存在,並(默認情況下)返回該文件夾中包含的任何index.html。 因此,用於路由的代碼行app.get('index.html')永遠不會執行,瀏覽器會向您顯示錯誤消息。

如果您想嘗試一下,這是一個微型靜態快遞服務器。

var express = require('express');
var app = express();
app.use(express.static('../public')); // path to your public directory

var server = app.listen(8080, function () {
   var host = server.address().address;
   var port = server.address().port;
   console.log('Example app listening at http://%s:%s', host, port);
 });

如果您想要一種簡單的靜態的,服務器文件夾式的東西,則可以不用“ / public”之類的方式來完成:

var fs = require("fs");
var host = "localhost";
var port = 8000;
var express = require("express");

var app = express();
app.use('/', express.static(__dirname));
app.listen(port, host);

我把它放在文件express.js ,所以它和index.html在同一文件夾中(甚至與node.exe相關聯的.js )。 這樣,文件夾是服務器的根目錄。

暫無
暫無

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

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