在玉器链接的CSS文件不加载
这是我的目录结构看起来像
--votingApp app.js node_modules public css mystyle.css views test.jade mixins.jade
我在mixins.jade中写了一些通用的块。 test.jade是主文件.biolerplate,nav,nav item是mixin中的不同块。 这就是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的开发者控制台中的networking选项显示对于mystyle.css(request url- http:// localhost:8000 / public / css / mystyle.css )我应该怎么做,请帮忙?谢谢阅读。
加载你的css时,你不需要相对path,这就是为什么你已经将公共目录定义为一个静态资源 。
更新你的链接到这个:
link(rel="stylesheet",type="text/css",href="/public/css/mystyle.css")
简单地使用这个:
link(rel="stylesheet",type="text/css",href="/css/mystyle.css")
相对path从来不会和node.js一起工作,所以绝对像
link(rel="stylesheet",type="text/css",href="css/mystyle.css")
并使用以下行将您的目录设置为公用文件夹
app.use(express.static(path.join(__dirname,'public')));
所以放弃写公共CSS的path。