Я думаю, что лучше всего иметь глобальный файл .scss
со всеми базовыми c стилями (например, основным цветом и c.). Затем для каждого компонента React вы пишете собственный модуль, чтобы он оставался чистым и .css
, необходимое для импорта, было минимальным.
Однако, используя этот подход, я получаю странную ошибку.
У меня есть файл styles/global.scss
с этим:
$primary-color: #6dd3d6;
body {
margin: 0;
padding: 0;
}
теперь у меня есть другой файл с именем NavBar.module.scss
с таким содержимым:
@import "styles/global";
.nav {
display: flex;
padding: 20px;
background: $primary-color;
}
Мой _app.js
файл:
import React from 'react';
import '../styles/global.scss'
export default function App({ Component, pageProps }) {
return <Component {...pageProps} />
}
и мой NavBar.js
файл:
import React from 'react';
import styles from './NavBar.module.scss';
export default function NavBar() {
return(
<nav className={styles.nav}>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</nav>
);
}
Это дает мне следующую ошибку:
./components/NavBar.module.scss:3:1
Syntax error: Selector "body" is not pure (pure selectors must contain at least one local class or id)
1 | $primary-color: #6dd3d6;
2 |
> 3 | body {
| ^
4 | margin: 0;
5 | padding: 0;