作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我从 Gatsby 开始,在我的应用程序中,当我运行命令时
'gatsby develop',我在终端收到了这个警告:
warn Attempted import error: '../styles/home.module.css' does not contain a default export (imported as 'styles').
Unhandled Runtime Error
Cannot read property 'header' of undefined
<section className={styles.header}>
这是我的代码的一部分(文件 index.js):
import styles from '../styles/home.module.css'
export default function Home({ data }) {
return (
<Layout>
<section className={styles.header}>
这是我的 css 模块(文件 home.module.css)的一部分:
.header {
display: grid;
grid-template-columns: 1fr 1fr;
grid-gap: 40px;
align-items: center;
}
我的 CSS 模块做错了什么?
最佳答案
在新版本的 Gatsby(v3 及更高版本)中,CSS 模块需要作为 ES 模块导入:
import * as styles from './[componentName].module.css'
应用于您的代码:
import * as styles from '../styles/home.module.css'
请记住,这不是导入 CSS 模块的推荐方式,因为您不允许 webpack 对样式进行 treeshake。理想情况下,您应该导入所需的命名模块,例如:
import React from "react"
import { box } from './mystyles.module.css'
const Box = ({ children }) => (
<div className={box}>{children}</div>
)
更多详情:
https://www.gatsbyjs.com/docs/reference/release-notes/migrating-from-v2-to-v3/#css-modules-are-imported-as-es-modules
关于javascript - Gatsby - 警告尝试导入错误 : 'css' does not contain a default export (imported as 'styles' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66869576/
我是一名优秀的程序员,十分优秀!