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

时间:2018-08-27 22:36:32

标签: node.js ejs

我搜索了许多在不同站点上问到的文章和帖子,但没有找到适当的答案。我在项目中使用ejs在页面中呈现书籍详细信息。

  

我的项目结构如下:

     
      
  • 资产> ...

  •   
  • 服务器> server.js

  •   
  • 视图> 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中工作的示例。有什么可能的方式可以使用快速中间件将我的文件放在任意目录中?例如,我的项目结构如下:

  

资产>视图> bookShow.ejs

1 个答案:

答案 0 :(得分:1)

尝试以下代码来使用它:

app.set('views', path.join(__dirname, '/your-path '))