Я настоятельно рекомендую использовать scss, так как вы все еще можете использовать CSS-модули с SCSS. Я не знаком с настройкой приложения create response, но обычно вы настраиваете webpack с такими загрузчиками стилей:
{
test: /\.scss$/,
loaders: [
'style-loader',
{ loader: 'css-loader', options: { modules: true } },
'sass-loader',
],
exclude: [srcDir + '/assets/scss/']
},
Загрузчики будут выполняться в обратном порядке, начиная с sass-loader, который преобразует ваш scss в обычный css, затем с css-loader и опцией «modules: true» эти стили будут доступны для использования в качестве модулей.
Конечно, это может выглядеть немного иначе, но это будет базовый подход к использованию модулей css с scss.
Чтобы поделиться переменными и миксинами, я всегда использую глобальный файл scss, который потребуется в приложении (например, в app.js). Однако вам все равно придется импортировать этот файл / файлы в каждый компонент-scss, где вам нужны переменные и миксины.
// GLOBAL STYLES
{
test: /\.scss$/,
loaders: [
'style-loader',
'css-loader',
'sass-loader',
],
include: [srcDir + '/assets/scss/']
},
В качестве альтернативы вы можете использовать PostCSS-Properties, чтобы сделать ваши компоненты еще более гибкими (например, для предоставления разных тем для вашего приложения, без явного импорта файлов в стилях компонентов), но, как правило, они не поддерживаются IE и потребуют от вас добавления определенных postcss погрузчики.
см. http://cssnext.io/features/#custom-properties-var
Гибкость и ремонтопригодность, которые обеспечивает SASS, очень полезны для больших проектов, особенно с React.
Однако не позволяйте себе поддаваться влиянию моего мнения или мнения других - вы можете использовать то, что вам удобнее всего, и всегда должны сомневаться в том, как все делается.
person
elektro.blume
schedule
16.04.2018
index.scss
- это архитектурный выбор, и ни то, ни другое не лучше. Используйте то, что вам удобнее всего, и узнайте больше о модулях CSS, если вас интересует, что они предлагают не так, как Sass. - person glhrmv   schedule 16.04.2018