Node JS,Express和Pug混淆-链接/路线

问题描述

我安装了Node.js,Express和Pug,并认为我在做MVC应用程序。但是,虽然我希望前端页面具有(连接到后端的数据片段)的(主页,关于,联系方式,登录名),但我可以使用pug(在视图下)创建这些页面

在带有样式表的公共文件夹下将这些页面设置为静态页面会更快吗?当然,我相信它们随后需要编译为HTML才能使它们正常工作。

我想做的就是创建一个导航,将这些页面简单地链接到pug中,但是,在运行NPM时,我会不断收到404错误(尽管今天上午可以正常工作)。

如果我可以使用pug轻松地做到这一点,只需放置一个链接,那为什么还要在后端创建路由?有人可以澄清一下吗?

帕格(9月nav文件

nav 
    a(href="/") Home
    a(href="about") Framework
    a(href="contact") Pricing
    a(href="login") Support

快速路线

app.get("/about",(req,res) => {
  res.render("about");
});


app.get("/contact",res) => {
  res.render("contact");
});

app.get("/login",res) => {
  res.render("login");
});

应用js

var createError = require('http-errors');
var express = require('express');
var path = require('path');
var cookieParser = require('cookie-parser');
var logger = require('morgan');

var indexRouter = require('./routes/index');
var usersRouter = require('./routes/users');

var app = express();

// View Engine ----------------------------
app.set('views',path.join(__dirname,'views'));
app.set('view engine','pug');

app.use(logger('dev'));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname,'public')));

// Routes
app.use('/',indexRouter);
app.use('/users',usersRouter);

app.get("/about",res) => {
  res.render("login");
});




// catch 404 and forward to error handler
app.use(function(req,res,next) {
  next(createError(404));
});

// error handler
app.use(function(err,req,next) {
  // set locals,only providing error in development
  res.locals.message = err.message;
  res.locals.error = req.app.get('env') === 'development' ? err : {};

  // render the error page
  res.status(err.status || 500);
  res.render('error');
});

module.exports = app;

我以前使用过Django,尽管它具有MVT(非常相似),但我认为它要简单得多,并且可以执行%link%并将其插入HTML页面

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)