nextjs使用三方库组件时报错的问题

在Next.js 12.x版本中,遇到只能导入.module.css而不能直接引入antd-mobile.css的问题,导致模块加载失败。解决方法是在next.config.js中使用next-transpile-modules来处理,将antd-mobile添加到配置中,从而允许CSS的引入。参考antd-mobile的SSR渲染文档进行设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

nextjs中(目前我是12.x),默认只能引入xxx.module.css,但有些三方组件中会存在引入xx.css的情况, 比如我目前用到的antd-mobile,会出现如下错误:

./node_modules/antd-mobile/es/components/action-sheet/action-sheet.css
Global CSS
be imported from within
Read more: https://nextjs.org/docs/messages/css-npm
Location:

Module build failed: Error: Final loader (./node_modules/next/dist/build/webpack/loaders/error-loader.js) didn’t return a Buffer or String

需要加如下代码处理:

// next.config.js
const withTM = require('next-transpile-modules')([
  'antd-mobile',
  // ...你的一些其他引用了.css文件的三方库
]);

const nextConfig = withTM({
  // 其他next配置...
})

module.exports = nextConfig

解决办法参考: antd-mobile ssr渲染

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值