【发布时间】:2020-07-12 01:30:40
【问题描述】:
我有一个 Next.js 应用程序,其中在 pages/_app.js 文件中导入了一个 main.scss 全局 css 文件。
_app.js
import '../global-styles/main.scss'
export default function MyApp({ Component, pageProps }) {
return <Component {...pageProps} />
}
此文件中的样式有效。
我还使用 [component].module.scss 将一些模块化 scss 文件附加到组件。
我在variables.scss 文件中写入了一个变量,这是我在main.scss 中@import 的文件之一,
variables.scss
$mobile: 750px;
main.scss
@import './fonts.scss';
@import './variables.scss';
@import './global.scss';
但是,当我尝试在我的模块化 css 中使用这个变量时,我得到一个错误
./module-styles/navbar.module.scss (./node_modules/css-loader/dist/cjs.js??ref--5-oneOf-3-1!./node_modules/postcss-loader/src??__nextjs_postcss!./node_modules/resolve-url-loader??ref--5-oneOf-3-3!./node_modules/sass-loader/dist/cjs.js??ref--5-oneOf-3-4!./module-styles/navbar.module.scss)
SassError: Undefined variable: "$mobile".
on line 19 of /Users/Parv/Documents/reactx/module-styles/navbar.module.scss
>> @media (max-width: $mobile) {
---------------------------^
我的问题是,为什么我在 main.scss 中声明的全局变量没有通过?
【问题讨论】: