首页 > 解决方案 > 当我在我的 express nodejs 应用程序中更改路由时,为什么我的样式会被拒绝?

问题描述

这是我的 index.js 文件

const express = require('express')
const bodyParser = require('body-parser')
const getRouter = require('./routes/getRoute')
const path = require('path');
const expressHbs = require('express-handlebars');
const app = express();

app.engine('hbs', expressHbs({
    defaultLayout: false
}));
app.set('view engine', 'hbs');
// app.set('views', 'views');

app.use(bodyParser.urlencoded({extended: false}));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/get',getRouter.router);

app.listen(3000, ()=>{
    console.log('server has started on port: 3000')
})

这是我的 getRouter.js 文件

const express = require('express')
const router = express.Router();
const path = require('path');
const data = require('./data');

let message = `It's Working`;

router.get('/', (req,res,next)=>{
    res.render(path.join(__dirname, '..', 'views/index'), {msg: data.data.codename});
});



exports.router = router;
exports.message = message;

最后,这是我的 index.hbs 文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="css/main.css">
</head>
<body>
    <h1>{{msg}}</h1>
</body>
</html>

现在,每当我将路由从/基本上更改为/codenamegetRouter.js 中的任何内容时, index.hbs 中的样式都会以某种方式关闭,并且只会呈现痛苦的 html。有人可以帮我弄清楚这是代码的哪一部分导致了这种情况吗?谢谢

标签: node.jsexpressrouteshandlebars.js

解决方案


推荐阅读