我有这样的目录结构分航线方面没有得到静态文件ExpressJS
里面users.js我有/登录和/寄存器路由。
所以我可以通过localhost:3000/user/login访问它,但是我的包含css的静态文件没有加载。
如何为所有子路由提供静态文件。
我有这样的目录结构分航线方面没有得到静态文件ExpressJS
里面users.js我有/登录和/寄存器路由。
所以我可以通过localhost:3000/user/login访问它,但是我的包含css的静态文件没有加载。
如何为所有子路由提供静态文件。
添加结尾斜线__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
您的页面位于更深层次,因此您必须添加另一个点。
前:<link rel="stylesheet" href="stylesheets/style.css">
后:<link rel="stylesheet" href="../stylesheets/style.css">
我用它来提供静态文件:app.use(express.static(path.join(__ dirname,'public'))); – Vishnudev
@Vishnudev我说的是,当你在视图中使用这些资源时(html/pug/ejs),你需要改变你的路径。我编辑了我的答案,使其更加清晰。 –
这里的问题是我使用express,并且只有一个主要页面加载CSS。所以当我按照你所说的去解决这个问题的时候,我的/ users/login(Multilevel routes)获得了CSS,但是那些拥有/ home(Single level route)的人并不是 – Vishnudev
使用内置在中间件功能express.static和指向,其中静态文件是stored.you可以指的目录[链接](HTTPS:/ /expressjs.com/en/starter/static-files.html)例如:app.use(express.static('public')) –
我已经使用过了。 – Vishnudev
你的静态文件存储在哪里? –