这就是我的目录结构
--votingApp
app.js
node_modules
public
css
mystyle.css
views
test.jade
mixins.jade
我在mixins.jade中写了一些通用块。 test.jade是主文件.'biolerplate','nav','nav item'是mixins中的不同块。 这就是test.jade的样子
include mixins
doctype html
html(lang="en")
head
+boilerplate
link(rel="stylesheet",type="text/css",href="../public/css/mystyle.css")
body
+nav("Voting app","navigation_menu")
+nav_item("#","active") Home
+nav_item("#") Signup
+nav_item("#") Login
这是我的app.js文件
var express=require('express');
var path=require('path');
var app=express();
app.use(express.static(path.join(__dirname,'public')));
app.set('views','./views');
app.set('view engine','jade');
app.get('/',function(req,res){
res.render('test.jade');
});
app.listen(8000);
问题是没有加载mystyle.css.mozilla的开发者控制台中的网络选项显示mystyle.css请求的错误404(请求url - http://localhost:8000/public/css/mystyle.css) 我该怎么办请帮忙?感谢您的阅读。
答案 0 :(得分:0)
加载css时不需要相对路径,这就是你将公共目录定义为https://support.microsoft.com/en-us/kb/836873的原因。
更新您的链接:
link(rel="stylesheet",type="text/css",href="/public/css/mystyle.css")
答案 1 :(得分:0)
只需使用:
link(rel="stylesheet",type="text/css",href="/css/mystyle.css")
答案 2 :(得分:0)
相对路径永远不会与node.js一起使用,所以要像
那样绝对lint
并使用以下行
将目录设置为公用文件夹link(rel="stylesheet",type="text/css",href="css/mystyle.css")
所以放弃在公路上写公共CSS。