使用Node.JS加载.ejs文件失败

问题描述 投票:0回答:1

我在不同的网站上搜索了很多文章和帖子,但我没有找到任何正确的答案。我在我的项目中使用ejs在我的页面中呈现书籍细节。

我的项目结构如下:

  • 资产> ...
  • server> server.js
  • views> main> bookShow.ejs

我在ejs中使用了server.js库作为以下代码:

var ejs = require('ejs');
app.set('view engine', 'ejs');

我在GET请求中返回了bookShow.ejs

router.get('/bookShow/:isPageNoSorted/:page', (req, res) => {
    var isPageNoSorted = req.params.isPageNoSorted || false;
    var page = req.params.page || 1;
    var perPage = 5;
    if (isPageNoSorted == "true") {
        bookModel.find({
                isDeleted: false
            }).sort('-pageCount')
            .skip((perPage * page) - perPage)
            .limit(perPage)
            .exec((err, data) => {
                if (data) {
                    if (data.length > 0) {
                        bookModel.find({
                            isDeleted: false
                        }).count().exec((err, count) => {
                            res.render(
                                'main/bookShow', {
                                    books: data,
                                    pageCount: count,
                                    currentPage: page
                                }
                            );
                        })
                    } 
                }
            })
    } 
});

但浏览器中没有显示任何内容。它似乎没问题,我看到另一个样本在另一个site中工作。有没有办法使用快速中间件将我的文件放在任意目录中?例如,我的项目结构如下:

assets> views> bookShow.ejs

node.js ejs
1个回答
1
投票

尝试使用以下代码:

app.set('views', path.join(__dirname, '/your-path '))
© www.soinside.com 2019 - 2024. All rights reserved.