NodeJS e js Не удалось найти представление "layout" в каталоге представлений - PullRequest
0 голосов
/ 01 марта 2020

Я хочу реализовать свои внешние .e js файлы в направлении layouts / admin.e js. Но это выбрасывает эту ошибку. Я хочу, чтобы мой внешний заголовок, нижний колонтитул и панель навигации были показаны. Все эти файлы хранятся в /views/partials/admin/filename.ejs

Мой макет находится в /views/layouts/admin.ejs

<%- head -%>


<body>
    <!-- Navigation Top -->
    <%- navigation -%>

    <!-- Page Content -->
    <div class="container-fluid main">

<%- footer -%>

    </div>

    <script src="/vendor/jquery/jquery.min.js"></script>
    <script src="/vendor/bootstrap/js/bootstrap.min.js"></script>
</body>

</html>

, так что это мое приложение. js

const
    express = require('express'),
    path = require('path'),
    crypto = require('crypto'),
    mongoose = require('mongoose'),
    multer = require('multer'),
    GridFsStorage = require('multer-gridfs-storage'),
    Grid = require('gridfs-stream'),
    methodOverride = require('method-override'),
    bodyParser = require('body-parser');

const app = express();
const port = 3003;

// Middleware
app.use(bodyParser.json());
app.use(methodOverride('_method')); // Use query string in form

// Set view engine
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));


// @route get /admin
// @desc route to admin panel
const partialRoute = '/views/partials/';
app.get('/', (req, res) => {
    res.render('layouts/admin', {
      head: res.sendFile(__dirname + partials + 'head.ejs');
      footer: res.sendFile(__dirname + partials + 'footer.ejs');
      navigation: res.sendFile(__dirname + partials + 'navigaiton.ejs');
  });



app.listen(port, () => {
    console.log(`Server running at port ${port}`);
})

Я попытался изменить имена и маршруты, а также удалил все <% e js, но ничего не работает <a href="https://i.stack.imgur.com/1Gz47.png" rel="nofollow noreferrer">structure tree

1 Ответ

0 голосов
/ 03 марта 2020

хммм ... я использую pug, а не e js, но кажется, что имя каталога неверно / не определено? Вы инициализируете частичную, но не частичную?

Может быть, я слепой

const partialRoute = '/views/partials/';
app.get('/', (req, res) => {
    res.render('layouts/admin', {
      head: res.sendFile(__dirname + partials + 'head.ejs');
      footer: res.sendFile(__dirname + partials + 'footer.ejs');
      navigation: res.sendFile(__dirname + partials + 'navigaiton.ejs');
  });
...