如何在KeystoneJS项目中修复错误“ _helpers.pageUrl不是函数:”?

时间:2019-08-28 19:23:26

标签: javascript node.js mongodb keystonejs

我有向导网站,我想在那添加一些游览。

我创建了两个模型:Tour.js和TourCategory.js(类似于Post.js和PostCategory.js)。然后,我必须创建两条路径:tours.js和tour.js(帖子也类似)。当我添加助手时,发现错误:_helpers.pageUrl is not a function

我该如何解决?

我试图找出是否有人遇到相同的问题,但一无所获。 我不知道如何解决它,因为在添加新的帮助程序之前,我没有更改代码(helpers / index.js)中的任何内容。

我的助手/index.js片段:

_helpers.tourUrl = function (categorySlug, tourSlug, options) {
    return ('/tours/' + categorySlug + tourSlug);
};

_helpers.categoryUrl = function (categorySlug, options) {
    return ('/tours/' + categorySlug);
};

_helpers.paginationNavigation = function (pages, currentPage, totalPages, options) {
    var html = '';

    _.each(pages, function (page, ctr) {

        var pageText = page;
        var isActivePage = ((page === currentPage) ? true : false);
        var liClass = ((isActivePage) ? ' class="active"' : '');

        if (page === '...') {

            page = ((ctr) ? totalPages : 1);
        }

        var pageUrl = _helpers.pageUrl(page);

        html += '<li' + liClass + '>' + linkTemplate({ url: pageUrl, text: pageText }) + '</li>\n';
    });
        return html;
}

我希望该页面将加载而不会出现任何错误。

1 个答案:

答案 0 :(得分:0)

由于在帮助文件中,您没有使用名称pageUrl进行任何功能,而是尝试使用其他功能_helpers.pageUrl()

您需要像这样添加名称为pageUrl的函数(如果不存在)

const _helpers = {};

_helpers.pageUrl = (input) => {
     try {
         // ... Your business logic
         return true; // It's up to you 
     } catch (err) {
        console.log(err);
        throw err;
     }
};

module.exports = _helpers