nextjs使用scss
nextjs如果使用的是turbopack构建的项目,那么只支持scss不支持less。如果需要支持less则需要自己配置,这个比较复杂暂不做表述。
下载依赖
create-next-app脚手架构建项目相关scss配置都已经内置了,构建后只需要下载sass依赖即可
c
npm i sass
全局scss样式文件
如果你想提前定义一批变量,然后能够在所有的scss文件中无需引入便能直接使用,那么可以做如下配置。
c
// next.config.ts
const nextConfig: NextConfig = {
sassOptions: {
includePaths: [join("./src/assets/styles/")],
prependData:`@import "global.scss";` // 配置全局引入文件
},
};
上面两个配置项includePaths
和prependData
的作用分别是
-
includePaths:配置此项后,项目中
所有scss文件
中的@import('')
语句中的地址,优先在includePaths
配置路径下寻找。c// .test.scss @import("global.scss"); #x 等效于 @import("./src/assets/styles/global.scss")
-
prependData:配置此项后
global.scss
文件将会在项目中的所有scss
文件中自动引入。因为这里配置了includePaths
所以等效于cprependData:`@import "./src/assets/styles/global.scss";`