Node.js -- 无法访问路由文件夹内的静态文件



我的静态文件在应用程序中的任何路由上都能完美运行.js。但是我的静态文件没有加载我在/routes/blog.js 文件中的任何路由。

Folder structure:
Project
├── app.js 
│ 
│ 
├── public 
└──  bootstrap...  
└──  img...
│
│  
├──views
└── index.html
└── 404.html
└── etc..
│ 
│ 
├──routes
└── blog.js

这是我的应用程序.js文件

const express = require('express');
const app = express(); 
const path = require('path'); 
const blog = require('./routes/blog') 
//Couple other requires...

// Middleware
app.use(express.static(path.join(__dirname, 'public')));
app.use('/blog', blog)

// Various get routes...

// Start our server on port 3000
app.listen(3000, () => console.log('Node app listening on port 3000...'));

这是我的/routes/blog.js 文件

const express = require('express'); 
const router = express.Router(); 

router.get('/', (req, res) => {
res.render('blog.html');
});

// Post a blog post
router.route('/post')
.get( (req, res) => {
res.render('post.html');
})
.post( (req, res, next) => {
//STUFF
res.redirect('/blog');
});
module.exports = router;  

当我在通过应用程序的任何页面上查看页面源代码时.js将我的观点归档到 htttp://localhost:3000/bootstrap/bootstrap.min.css/但是当我查看通过博客的任何页面的源代码时.js文件(例如,如果我转到 localhost:3000/blog/post(我指向 htttp://localhost:3000/blog/bootstrap/bootstrap.min.css/和静态文件不加载

添加到您的路线中.js

const DIR = path.join(__dirname, 'routes');

并将get更改为:

router.get('/', (req, res) => {
res.render(path.join(DIR, 'blog.html'));
});

我通过更改使其工作

app.use(express.static(path.join(__dirname, 'public')));

到只是

app.use(express.static('public'));

最新更新