У меня возникла путаница в отношении использования знака $ в узле 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) значение $?
Также как мы можем использовать $(.header) без импорта jquery?
cheerio - это версия jquery. Итак, вы импортируете jquery в некотором смысле
Cheerio - это не версия jQuery. Это больше похоже на подделку jQuery.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Cheerio реализует подмножество jQuery. Итак, теперь, как мы знаем, обычно jQuery использует $ для размещения имен, поэтому разработчики привыкли к синтаксису $ ('selector').
Теперь, когда cheerio реализует основные функции jQuery, и мы используем его вместо jQuery, имеет смысл использовать $ в качестве пространства имен. Он знаком разработчикам, и синтаксис такой же.
Когда вы импортируете jQuery, объект jQuery назначается $. Когда вы используете cheerio, объект cheeerio назначается $.
Я бы не сказал, что это хорошая практика. Скорее это конвенция. Я видел различные приложения, которые не используют $, вместо этого они использовали jQuery.
Что касается вашего второго вопроса, мы заменяем jQuery на cheerio. Поэтому, когда вы используете $('.header'), вы не используете jQuery, а вместо этого используете cheerio.
$- это переменная, как и любая другая переменная, в которую можно поместить что угодно