主路由中的子路由没有获取静态文件ExpressJS

时间:2017-03-07 06:52:05

标签: node.js express routing

我有这个目录结构

REFERENCE SCREENSHOT

在users.js中我有/ login和/ register的路由。
所以我可以通过localhost:3000 / user / login访问它,但我的静态文件包含css没有加载。

如何为所有子路径提供静态文件。

3 个答案:

答案 0 :(得分:2)

您的页面位于另一个深层,因此您必须添加另外几个点。

之前:<link rel="stylesheet" href="stylesheets/style.css">

之后:<link rel="stylesheet" href="../stylesheets/style.css">

答案 1 :(得分:1)

__dirname之后添加一个尾部斜杠,后跟文件夹的相对路径。

使用路径规范化文件夹路径中的...

var express = require('express');
var app = express();
var path = require('path');
app.use(express.static(path.join(__dirname + '/../public')));

有关更多示例https://millermedeiros.github.io/mdoc/examples/node_api/doc/path.html#path.normalize

,请参阅以下链接

答案 2 :(得分:0)

写:(例如)(通过在路径的开头添加 / 来使href或src成为绝对路径,而不是相对路径)

<link rel="stylesheet" href="/stylesheets/style.css">

之前:

<link rel="stylesheet" href="stylesheets/style.css"> 

<link rel="stylesheet" href="./stylesheets/style.css">