Я думаю, что вы пропустили передачу параметра в ваш IIFE.
(function($) {
console.log($);
})($);
Редактировать: в вашем случае просто делать это имеет больше смысла, потому что вы не пытаетесь навязывать переменные:
(function() {
console.log($);
})();
Если бы у вас была переменная jQuery
и вы хотели использовать имя $
внутри IIFE вместо jQuery
, то вы бы сделали:
(function($) {
console.log($);
})(jQuery);