What I understand is that each loose file requires an HTTP request.
If you have 1 file with 64 sprites, it is a single request, if instead you divide it into 64 files, you need 64 requests.
That not only decreases the performance of the page, but actually each request has a cost, plus every time you load the game, you must make a request before the browser checks if the file is in the cache or not.
If the files are local, something similar also happens, because each file you read needs to open a thread with the OS.
I have a game with 65,000 files, in the development version we have the loose files in a directory. The loading time is twice as long VS when we package the 65,000 files into a single .PAK that is then read into memory.