As the title, it seems sometimes one is used, sometimes the other. Could someone explain?
Async Chunk => chunkFilename e.g import(/* webpackChunkName: "foo" */ './file.css') => foo.css
Sync Chunk (e.g an Entrypoint) => filename => e.g import styles from './file.css' (in entry.js) => entry.css
It's the Amazing Lazyload, whenever you find chunk you automatically use it when you want to import it dynamically.
Finally, I had make a good understood of the difference between them with this awesome answer!!
Most helpful comment
Async Chunk =>
chunkFilenamee.gimport(/* webpackChunkName: "foo" */ './file.css')=>foo.cssSync Chunk (e.g an Entrypoint) =>
filename=> e.gimport styles from './file.css'(inentry.js) =>entry.cssCode Splitting
import()