Next.js で Sass を使用する方法
Next.js は、パッケージをインストールした後、.scss および .sass 拡張子の両方を使用して Sass と統合するための組み込みサポートを提供しています。CSS Modules および .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 nextConfigSass 変数
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>
)
}役に立ちましたか?