首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >静态文件未提供给我的个人博客页面

静态文件未提供给我的个人博客页面
EN

Stack Overflow用户
提问于 2016-04-29 05:11:49
回答 2查看 32关注 0票数 0

我在为我网站的博客部分的个人博客帖子提供css文件时遇到了问题。

所以它的工作方式是:转到/ blog -你会得到博客页面,它工作得很好。

但是当我试图访问/blog/post1时,例如,我得到了一个错误的http://localhost:4000/blog/static/css/style.css

我将非常感谢你的帮助,因为我是个新手,不熟悉express和路由文件。干杯。

我的文件结构如下所示的blog /node_modules /src /mock /public /css style.css /templates /partials _head.jade _nav.jade blog.jade index.jade layout.jade post.jade app.js

所以它的工作方式是:转到/ blog -你会得到博客页面,它工作得很好。

但是当我试图访问/blog/post1时,例如,我得到了一个错误的http://localhost:4000/blog/static/css/style.css

下面是我各自的文件的样子,也许我遗漏了一些东西:

app.js

代码语言:javascript
复制
"use strict";

var express = require("express"),
    posts = require("./mock/posts.json");

var postsLists = Object.keys(posts).map(function(value){
    return posts[value]
    });

var app = express();

app.use("/static", express.static(__dirname + "/public"))

app.set("view engine", "jade");
app.set("views", __dirname + "/templates");

app.get("/", function(req, res){
    res.render("index");
});

app.get("/blog/:title?", function(req, res){
    var title = req.params.title;
    if (title === undefined) {
        res.status(503);
        res.render("blog", {posts: postsLists});
    } else {
    var post = posts[title] || {};
    res.render("post", {post: post} );
    }
});

app.get("/about", function(req, res){
    res.send("<h1>About Page</h1>");
})

app.get("/projects", function(req, res){
    res.send("<h1>Projects Page</h1>")
})

app.listen(4000, function(){
    console.log("Frontend server is running on port 4000.")
});

_head.jade

代码语言:javascript
复制
head
meta(charset="UTF-8")
link(rel="stylesheet", href="static/css/style.css")

layout.jade

代码语言:javascript
复制
doctype html
html(lang="en")
include ./partials/_head.jade
body
block content

blog.jade

代码语言:javascript
复制
extends ./layout

block content
    section(id="postHolder")
        for post in posts
            div.post
                h2 #{post.title}
                p #{post.body}
                a(href="/blog/" + post.title)
                    button Read More

post.jade

代码语言:javascript
复制
extends ./layout.jade

block content
    section
            div.post
                h2 #{post.title}
                p #{post.body}
                p This is the actual post page itself.
EN

回答 2

Stack Overflow用户

发布于 2016-04-29 05:38:56

我想这么做会让你成功的-

代码语言:javascript
复制
head
  meta(charset="UTF-8")
  link(rel="stylesheet", href="/css/style.css")
票数 3
EN

Stack Overflow用户

发布于 2016-04-29 05:31:55

好的,我想让你注意一下我的_head.jade文件:

代码语言:javascript
复制
head
meta(charset="UTF-8")
link(rel="stylesheet", href="/static/css/style.css")

我需要引用绝对路径,并在"static“前面添加"/”

以前是static/css/style.css,现在是/static/css/style.css,我对此非常陌生,我不知道我是否正确地解释了绝对路径的引用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36925544

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档