🔥

Тред (Дэн Абрамов)

Что именно в Webpack значит require('./something.css')? Идея в том, что это никак не отличается от require('./something.coffee') и т.п.

Если к проекту не подключить билд-трансформу для *.css, то это не сбилдится. Ведь таргет-язык у нас всё-таки JS.

Но можно подключить трансформу, которая превращает файл стилей в JS-модуль, кладущий эти стили в <style>-тэг.

Теперь require('./something.css') обретает смысл — это значит «этот JS-файл зависит от того, чтобы эти стили были в head». Зависимости FTW!

Причем код не указывает, как именно эти стили соединяются. Может быть, они выделяются при компиляции в отдельный файл. Деталь реализации.

Зато с явными зависимостями не бывает мертвых стилей, файлов, которые боишься убрать, или watch('**/*.css'). Потому что всё явно, как в JS.