【发布时间】:2020-07-11 11:44:18
【问题描述】:
我的 React 应用运行良好,还使用了全局 CSS。
我运行了npm i next-images,添加了一张图片,编辑了next.config.js、ran npm run dev,现在我收到了这条消息
Global CSS cannot be imported from files other than your Custom <App>. Please move all global CSS imports to pages/_app.js.
Read more: https://err.sh/next.js/css-global
我查看了文档,但我发现说明有点混乱,因为我是 React 新手。
另外,为什么现在会发生这个错误?你认为它与 npm install 有什么关系吗?
我已尝试删除与代码一起添加的新文件,但这并不能解决问题。我也尝试了阅读更多:建议。
我的最高层组件。
import Navbar from './Navbar';
import Head from 'next/head';
import '../global-styles/main.scss';
const Layout = (props) => (
<div>
<Head>
<title>Bitcoin Watcher</title>
</Head>
<Navbar />
<div className="marginsContainer">
{props.children}
</div>
</div>
);
export default Layout;
我的 next.config.js
// next.config.js
const withSass = require('@zeit/next-sass')
module.exports = withSass({
cssModules: true
})
我的 main.scss 文件
@import './fonts.scss';
@import './variables.scss';
@import './global.scss';
我的 global.scss
body {
margin: 0;
}
:global {
.marginsContainer {
width: 90%;
margin: auto;
}
}
我觉得最奇怪的是,这个错误在没有改变任何与 CSS 或 Layout.js 相关的情况下就出现了,而且它以前可以工作?
我已将 main.scss 导入移至 pages/_app.js 页面,但样式仍未通过。这就是 _app.js 页面的样子
import '../global-styles/main.scss'
export default function MyApp({ Component, props }) {
return <Component {...props} />
}
【问题讨论】:
标签: css reactjs import sass next.js