'$' 对 cheerio 的混淆 api

'$' confusion on cheerio api

我对在节点 cheerio 中使用 $ 符号感到困惑 api

例如下面的代码

if(!error){
        var $ = cheerio.load(html);

    var title, release, rating;
    var json = { title : "", release : "", rating : ""};

    $('.header').filter(function(){
        var data = $(this);
        title = data.children().first().text();            
        release = data.children().last().children().text();

        json.title = title;
        json.release = release;
    })

为什么将 cheerio.load(html) 值设置为 $ 被认为是一种好的做法? 另外,我们如何在不导入 jquery 的情况下使用 $(.header)

Cheerio 实现了 jQuery 的子集。所以,现在我们知道通常 jQuery 使用 $ 作为命名空间,所以开发人员习惯了 $('selector') 语法。

现在,由于 cheerio 实现了 jQuery 的核心功能,我们使用它而不是 jQuery,因此使用 $ 作为命名空间是有意义的。开发者很熟悉,语法也一样。

当您导入 jQuery 时,jQuery 对象被分配给 $。当您使用 cheerio 时,cheeerio 对象被分配给 $.

我不会说这是一个好习惯。更像是一个约定。现在,我看到各种应用程序不使用 $,而是使用 jQuery

对于您的第二个问题,我们将 jQuery 替换为 cheerio。因此,当您使用 $('.header') 时,您并没有使用 jQuery,而是使用了 cheerio。