我正在嘗試關注視頻,但當我在網路瀏覽器中由本地主機加載時仍然無法獲取。
我得到了一個監聽的控制臺日志,3000但似乎這一行:
"app.use(express.static("/Users/name/Desktop/Weather App/public/app.html"));" 不管用。
有什么建議么?
const express = require("express");
const app = express();
app.listen(3000, () => {
console.log("listening at 3000");
});
app.use(express.static("/Users/name/Desktop/Weather App/public/app.html"));
這是我現在使用的代碼。
服務器.js
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.sendFile(
"/Users/name/Desktop/Weather App/public/app.html"
// "/Users/name/Desktop/Weather App/public/style.css"
);
});
// serve any HTML files located in /Users/name/Desktop/Weather App/public
// app.use(express.static("/Users/name/Desktop/Weather App/public"));
app.listen(3000, () => {
console.log("listening at 3000");
});
應用程式.html
<!DOCTYPE html>
<html>
<head>
<title>Weather App</title>
</head>
<body>
<h1>Weather App</h1>
<div id ="container">
<p>
Place: <span id = "places"></span><br/><br/>
Temperature: <span id="temperature"></span>°C<br/><br/>
Feels like: <span id="feels"></span>°C<br/><br/>
Minimum Temp: <span id="min"></span>°C<br/><br/>
Maximum Temp: <span id="max"></span>°C<br/><br/>
Humidty: <span id="hum"></span>%<br/>
</p>
<div>
<input id="inputter" type="text" ></input><br/><br/>
<button id="entButton">Click here for weather forecast</button><br/><br/>
<button id="geoEnter">Click here for fast weather</button><br/>
</div>
</div>
<div>
</div>
<script href="/Users/josh/Desktop/Weather App/server.js"></script>
<script src="/Users/name/Desktop/Weather App/public/app.js" ></script>
<link href="/Users/name/Desktop/Weather App/public/style.css" rel="stylesheet" type="text/css"/>
</body>
</html>
有什么建議么?
uj5u.com熱心網友回復:
如果您只想app.html顯示何時http://localhost:3000是 URL,那么您可以這樣做:
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.sendFile("/Users/name/Desktop/Weather App/public/app.html");
});
app.listen(3000, () => {
console.log("listening at 3000");
});
如果您有更多檔案/Users/name/Desktop/Weather App/public希望在請求時自動提供給客戶端,那么您可以添加以下內容:
const express = require("express");
const app = express();
app.get("/", (req, res) => {
res.sendFile("/Users/name/Desktop/Weather App/public/app.html");
});
// serve any HTML files located in /Users/name/Desktop/Weather App/public
app.use(express.static("/Users/name/Desktop/Weather App/public"));
app.listen(3000, () => {
console.log("listening at 3000");
});
因此,如果styles.css位于 中/Users/name/Desktop/Weather App/public,則 URL/styles.css將自動為該檔案提供服務/Users/name/Desktop/Weather App/public/styles.css。
將頁面中的鏈接更改為app.html:
<script src="/app.js"></script>
<link href="/style.css" rel="stylesheet" type="text/css"/>
這些標簽中的 URL 需要與檔案中指定的目錄相關,express.static()并且通常以 a 開頭,/因此它們獨立于包含頁面的 URL。
uj5u.com熱心網友回復:
提供給的檔案系統路徑express.static太長。
express.static接受目錄路徑引數,而不是檔案路徑。如果對靜態服務器端點的 get 請求最后不包含檔案名(例如 " .../app.html),則表示靜態中間件會查找可配置的默認檔案名(最初設定為index.html)以提供內容。
另請參閱express.static檔案,尤其是 options 物件的indexandextensions屬性。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/496244.html
標籤:javascript 节点.js 服务器
