📜  nextjs 全局 scss 变量 - Javascript (1)

📅  最后修改于: 2023-12-03 14:44:34.894000             🧑  作者: Mango

Next.js全局SCSS变量

在开发Web应用程序时,我们通常使用CSS或SCSS来定义样式规则。 Next.js是一款流行的React框架,它为开发人员提供了许多工具和功能,可以轻松创建高度可定制的应用程序。

但是,Next.js中默认情况下不支持全局SCSS变量。这意味着您需要在每个组件的SCSS文件中确切定义相同的变量。这可能非常繁琐和不必要,因此本文将介绍如何在Next.js中实现全局SCSS变量。

第1步 - 安装依赖项

您需要安装3个依赖项:node-sasssass-loader@zeit/next-sass。您可以通过以下命令安装它们:

npm install node-sass sass-loader @zeit/next-sass
第2步 - 配置next.config.js

您需要在项目根目录下创建一个名为next.config.js的文件,并添加以下内容:

const withSass = require('@zeit/next-sass')
module.exports = withSass({
  cssModules: true,
  cssLoaderOptions: {
    importLoaders: 1,
    localIdentName: "[local]___[hash:base64:5]",
  },
  sassLoaderOptions: {
    includePaths: ["styles"],
  },
})

上述代码将允许您在组件中使用CSS模块,并将全局SCSS变量保存在styles目录下。

第3步 - 创建全局SCSS文件

styles目录中创建一个名为globals.scss的文件,并定义您要使用的所有全局变量,例如:

$primary-color: #0070f3;
$secondary-color: #1A1A1B;
第4步 - 引用全局SCSS变量

在您的组件中,您可以轻松地使用全局SCSS变量。只需将以下代码添加到组件的SCSS文件中:

@import "~globals.scss";

.my-class {
  background-color: $primary-color;
  color: $secondary-color;
}

现在,您已经成功地在Next.js中实现了全局SCSS变量!

结论

全局SCSS变量可以使您的代码更整洁和易于维护。通过遵循上述步骤,在Next.js应用程序中轻松实现全局SCSS变量。