首页 > 解决方案 > 在 node.js 中难以合并车把

问题描述

大家好 !

在这里,我想要合并“快速车把”,但我无法按照我的意愿安排它。我的应用程序文件:

//////////////////////////////////////////////////////////////////////////////////////////////
// Importation :

// Framework Express:
const express = require('express')

// Express-handlebars:
const expressHb = require('express-handlebars')

// Instance de l'objet express :
const app = express()

// Route User:
const userRoute = require('./routes/userRoute')

// Route Post:
const postRoute = require('./routes/postRoute')

// Route Comment:
const commentRoute = require('./routes/commentRoute')

// Package body-parser:
const bodyParser = require('body-parser') // Convertit le corp de la requéte en json en objet Js

// Mysql:
const connectDB = require('./config/connexion')

//////////////////////////////////////////////////////////////////////////////////////////////
// Appelée à chaque requête envoyée au serveur:


app.use(bodyParser.json())
app.use(
  bodyParser.urlencoded({
    extended: true,
  })
) 

app.use(express.static(__dirname + './views'))

app.engine('hbs',
  expressHb( {
    extname: '.hbs',
    defaultLayout: false,
    layoutsDir: "views/layouts/"
  })
)

app.set('view engine', 'hbs')
app.set("views", "views");

// Les routes:
// User:
app.use('/api/auth', userRoute);

//////////////////////////////////////////////////////////////////////////////////////////////
// Exportation:
module.exports = app

我的路线文件:

//////////////////////////////////////////////////////////////////////////////////////////////
// Importation :

// Framework Express:
const express = require('express')
const app = require('../app')

// Création de gestionnaires de route modulaires:
const router = express.Router()

// PostController:
const userCtrl = require('../controllers/userCtrl')

// auth.js:
const auth = require('../middleware/auth')

const admin = require('../middleware/authAdmin')

//////////////////////////////////////////////////////////////////////////////////////////////
// Routes:

// Signup:
router.post('/signup', userCtrl.signup)

// Login:
router.post('/login', userCtrl.login);

// Admin:
router.get('/', userCtrl.getUserProfil);

我的控制器文件:

//////////////////////////////////////////////////////////////////////////////////////////////
// Importation :

// Import du models user:
const models = require('../models/user')

// dotEnv :
const dotEnv = require('dotenv').config()


// Fatest-validator: (validateur de saisie)
const Validator = require("fastest-validator");

// Bcrypt:
const bcrypt = require('bcrypt')

// Jsonwebtoken d'authentification:
const jwt = require('jsonwebtoken')

const uuid = require('uuid');


// Dashboard:
exports.getUserProfil = (req, res) => {

  res.render("home");
}

所以当我放:

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

在应用程序文件中它可以工作,但无法将其放入控制器中,它无法找到并将我发回:'Cannot GET /'

我在布局文件夹中的 main.hbs 文件:

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Administration</title>
</head>
<body>

  {{{body}}}

</body>
</html>

我的 view 文件夹中的 home.hbs 文件:

<!DOCTYPE html>
<html lang="fr">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>

  <h1>Example App: Home</h1>

</body>
</html>

和我的文件的树结构:

在此处输入图像描述

希望它很明确,如果需要澄清,请不要犹豫提前感谢您的帮助。

标签: node.jshandlebars.js

解决方案


推荐阅读