我是 REST API 的初學者,我仍然開始理解它。我想為一個網站做這件事。
所以,我只使用了res.sendFile(),它起作用了,但是,CSS 沒有被渲染,JS 也沒有被渲染。
為什么?任何幫助表示贊賞。
代碼:
const app = require("express")()
const PORT = 8000
/**
*
* @param {string} name
* @returns
*
*/
function getHTML(name) {
return process.cwd() "/html" `/${name}` `/${name}.html`
}
/**
*
* @param {string} name
* @returns
*
*/
app.get("/password-generator", (req, res) => {
res.sendFile(getHTML("password-generator"))
})
app.listen(PORT, () => {
console.log("Website is on!")
})
我的檔案結構的圖片:

uj5u.com熱心網友回復:
您還必須提供 css 檔案,而不僅僅是 html。
最簡單的方法是使用靜態:
僅用這一行替換您的app.get和getHTML函式:
app.use(express.static(process.cwd() "/html"));
然后你就可以訪問你的 html 檔案了 http://localhost:8000/password-generator/password-generator.html
替代解決方案:如果你想保留你已經擁有的代碼并仍然可以訪問它,http://localhost:8000/password-generator
那么你可以創建一個單獨的函式來獲取 css:
app.get("/password-generator/style.css", (req, res) => {
res.sendFile(process.cwd() "/html/password-generator/style.css");
});
或者類似的東西,然后在你的 html 中確保你鏈接到src="/password-generator/style.css"而不是src="style.css"
uj5u.com熱心網友回復:
發生這種情況是因為 css 與 express 不兼容。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/366986.html
標籤:javascript 节点.js 表达
