Node.js 路由器错误处理静态文件加载

Node.js 路由器错误处理静态文件加载,node.js,express,express-router,Node.js,Express,Express Router,在开发我的网站时,我遇到了一个问题,我的静态CSS、JS和图像文件加载到我的网站的方式。一旦我浏览过.index文件或任何路由树,我的静态目录就会错误加载,路由索引会突然添加到静态文件目录路径中 我已经写了一个yelpcamp应用程序,我正在对这个应用程序进行建模,它可以很好地工作,因为我已经写了,但由于某些原因,它抛出了这个特定的错误,我找不到任何资源来帮助更正 包含所有声明和静态文件加载的主app.js文件 // REQUIREMENTS var express = requ

在开发我的网站时,我遇到了一个问题,我的静态CSS、JS和图像文件加载到我的网站的方式。一旦我浏览过.index文件或任何路由树,我的静态目录就会错误加载,路由索引会突然添加到静态文件目录路径中

我已经写了一个yelpcamp应用程序,我正在对这个应用程序进行建模,它可以很好地工作,因为我已经写了,但由于某些原因,它抛出了这个特定的错误,我找不到任何资源来帮助更正

包含所有声明和静态文件加载的主app.js文件

// REQUIREMENTS
var express         = require("express"),
    app             = express(),
    bodyParser      = require("body-parser"),
    mongoose        = require("mongoose"),
    methodOverride  = require("method-override"),
    nodemailer      = require("nodemailer"),
    expressSanitizer= require("express-sanitizer"),

// MODELS
    blog            = require("./models/blog"),

// ROUTES LOCATIONS
    indexRoutes         = require("./routes/index"),
    blogRoutes          = require("./routes/blog"),
    contactRoutes       = require("./routes/contact");

// SETUP  
mongoose.connect("mongodb://localhost/*ChangedForPrivacy*");
app.use(bodyParser.urlencoded({extended: true}));
app.set("view engine", "ejs");
app.use(express.static(__dirname + "/public"));
app.use(methodOverride("_method"));

// ROUTE INDEX
app.use("/", indexRoutes);
app.use("/contact", contactRoutes);
app.use("/blog", blogRoutes);
这是我的routes文件夹中的blog.js文件,我注意到静态文件加载正确

// REQUIREMENTS
var express     =   require("express"),
    Posts       =   require("../models/blog"),
    router      =   express.Router();


// INDEX- SHOW ALL Posts
router.get("/", function(req,res){
    // find all POSTS
    Posts.find({}, function(err, allPosts){
        if(err){
            console.log(err);
        } else{
            // this is index because lots of paths are derived from it (landing pages are separate entities)
            res.render("blog/home",{posts: allPosts});
        }
    });
});

// NEW (FORM PAGE)
router.get('/new', function (req,res){
    res.render("blog/newpost");
})
// CREATE (POST TO PAGE)
// EDIT (PUT TO PAGE)
// DELETE
// EXPORT TO ROUTER
module.exports = router;


/blog/home页面完美地加载了静态CSS、JS,但一旦您访问/blog/newpost,它就会更改静态文件的路径,现在将/blog包含在其中。我希望如果路由结构中的第一个app.get能够正常工作,他们都会遵循,但我不知道为什么它会继续添加额外的路由目录。

我在partials/header.ejs文件中发现了错误。我在静态CSS/JS文件的根目录前省略了“/”,因此路由器按照其路径添加了正确的路由