Sass
Next.js は、パッケージのインストール後に ` .scss` と ` .sass` の両方の拡張子を使用して Sass と統合するための組み込みサポートを提供しています。CSS モジュールと ` .module.scss` または ` .module.sass` 拡張子を使用して、コンポーネントレベルの Sass を使用できます。
まず、sass
をインストールします。
ターミナル
npm install --save-dev sass
知っておくと良いこと:
Sass は2 つの異なる構文をサポートしており、それぞれ独自の拡張子を持っています。` .scss` 拡張子を使用するには、SCSS 構文を使用する必要があります。一方、` .sass` 拡張子を使用するには、インデント構文 ("Sass")を使用する必要があります。
どちらを選択するかわからない場合は、CSS のスーパーセットであり、インデント構文 ("Sass") を学習する必要がない ` .scss` 拡張子から始めましょう。
Sass オプションのカスタマイズ
Sass のオプションを設定する場合は、` next.config` で ` sassOptions` を使用します。
next.config.ts
import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
sassOptions: {
additionalData: `$var: red;`,
},
}
export default nextConfig
実装
` implementation` プロパティを使用して、使用する Sass の実装を指定できます。デフォルトでは、Next.js は sass
パッケージを使用します。
next.config.ts
import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
sassOptions: {
implementation: 'sass-embedded',
},
}
export default nextConfig
Sass 変数
Next.js は、CSS モジュールファイルからエクスポートされた Sass 変数をサポートしています。
たとえば、エクスポートされた ` primaryColor` Sass 変数を使用します。
app/variables.module.scss
$primary-color: #64ff00;
:export {
primaryColor: $primary-color;
}
pages/_app.js
import variables from '../styles/variables.module.scss'
export default function MyApp({ Component, pageProps }) {
return (
<Layout color={variables.primaryColor}>
<Component {...pageProps} />
</Layout>
)
}
これは役に立ちましたか?