我的静态文件在应用程序中的任何路由上都能完美运行.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'));