我的 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;
我的下一个.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} />
}