[英]express.static files dont load static files
我正在嘗試使用 express 服務器 static 文件,但它們不起作用,我認為它有 express 問題或其他問題,但我不明白為什么它不起作用。 我的文件夾如下所示:
app.js public --css --js --images
和我試圖像這樣運行的代碼:
app.use(express.static(path.join(__dirname,'public')));
如果我執行路徑的 console.log
console.log(path.join(__dirname, 'public'))
我得到下一條路徑 C:\Users\J\Desktop\node.js\social-media-cars\public
如果我使用 windows 文件資源管理器查看路徑,我會發現路徑是正確的並且我會看到里面的內容,所以我不認為它的路徑錯誤
我也試過:
app.use(express.static(path.join(__dirname,'public')));
app.use('/static',express.static(path.join(__dirname, '/public')));
我對此很失望,我不知道為什么這不起作用。
我使用它的代碼如下所示:
// Import the express module
const path = require('path');
const express = require("express");
// Instantiate an Express application
const app = express();
const dotenv = require("dotenv").config();
const ActionsRouter = require('./routers/actions-router');
const UserRouter = require('./routers/user-router');
const cookieparser = require('cookie-parser');
// app.use('/static',express.static(path.join(__dirname, '/public')));
//set static files that are rendered after
app.use(express.static(path.join(__dirname,'public')));
//read the cookies from response
app.use(cookieparser(path.join(__dirname, '/public')));
console.log(path.join(__dirname, 'public'))
//create the req.body
app.use(express.json());
//user
app.use("/api",UserRouter);
app.use("/useractions",ActionsRouter);
module.exports = app;
const server = app.listen(port,()=>{
console.log(`listening on port ${port}`)});
得到 static 文件以及我得到的每個響應
index.js
或者app.js
中添加這個中間件 app.use(express.static(path.join(__dirname, "public")));
|__public/
|__ css/
|__ css files...
|__ js/
|__ js files...
3.這樣導入
現在您將路徑設置為公共目錄,您必須在導入時提供路徑公共文件夾
<link rel="stylesheet" href="/css/main.css" />
以同樣的方式,你可以導入你的JS文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.