ant-design / ant-design-mobile

Essential UI blocks for building mobile web apps.
https://mobile.ant.design
MIT License
11.66k stars 2.41k forks source link

Module parse failed: Cannot use 'import.meta' outside a module #6503

Open jackple opened 10 months ago

jackple commented 10 months ago

Version of antd-mobile

5.33.2

Operating system and its version

Others

Browser and its version

every

Sandbox to reproduce

No response

What happened?

按照官方的配置https://mobile.ant.design/zh/guide/ssr#nextjs-13 直接在项目中使用

import { Button } from 'antd-mobile'

<Button>aaaaa</Button>

报错:

▲ Next.js 13.5.6

Import trace for requested module: ./node_modules/antd-mobile/node_modules/classnames/index.js ./node_modules/antd-mobile/es/components/action-sheet/action-sheet.js ./node_modules/antd-mobile/es/components/action-sheet/index.js ./node_modules/antd-mobile/es/index.js ○ Compiling / ... ⨯ ./node_modules/antd-mobile/node_modules/classnames/index.js Module parse failed: Cannot use 'import.meta' outside a module (93:16) | // still a Refresh Boundary later. | // @ts-ignore importMeta is replaced in the loader

            import.meta.webpackHot.accept();

| // This field is set when the previous version of this module was a | // Refresh Boundary, letting us know we need to check for invalidation or

Import trace for requested module: ./node_modules/antd-mobile/node_modules/classnames/index.js ./node_modules/antd-mobile/es/components/action-sheet/action-sheet.js ./node_modules/antd-mobile/es/components/action-sheet/index.js ./node_modules/antd-mobile/es/index.js

Relevant log output

No response

s875515 commented 8 months ago

Same error, do you have any update?

jackple commented 8 months ago

@s875515 直接连框架都换了, 不折腾

s875515 commented 8 months ago

@s875515 直接连框架都换了, 不折腾

哎呀,就是麻煩啊 所以您直接換umijs?

jackple commented 6 months ago

@s875515 换了vite, umi太重了, 不考虑

saeedghasemi72 commented 6 months ago

same issue with ant design web

mitya-kocherga commented 5 months ago

Any updates on that? I guess it connected with babel version on your project @jackple i just struggled with same issue, but changing babel version is helped

KonomiHayakawa commented 3 months ago

Had the same issue with web version of antd. I had some imports like: ... from 'antd/lib'. Replacing it with ... from 'antd' solved the issue.

johannespn commented 3 months ago

Getting a similar error when

import { message } from 'antd'

with following stack trace

 ⨯ ./node_modules/antd/node_modules/classnames/index.js
Module parse failed: Cannot use 'import.meta' outside a module (93:16)
|                 // still a Refresh Boundary later.
|                 // @ts-ignore importMeta is replaced in the loader
>                 import.meta.webpackHot.accept();
|                 // This field is set when the previous version of this module was a
|                 // Refresh Boundary, letting us know we need to check for invalidation or

Import trace for requested module:
./node_modules/antd/node_modules/classnames/index.js
./node_modules/antd/es/message/PurePanel.js
./node_modules/antd/es/message/index.js
__barrel_optimize__?names=message!=!./node_modules/antd/es/index.js

with next: 14.2.3 and antd: 5.19.3. Downgrading next to next: 14.0.2 fixed the issue.

KaldrArt commented 2 months ago

Getting a similar error when

import { message } from 'antd'

with following stack trace

 ⨯ ./node_modules/antd/node_modules/classnames/index.js
Module parse failed: Cannot use 'import.meta' outside a module (93:16)
|                 // still a Refresh Boundary later.
|                 // @ts-ignore importMeta is replaced in the loader
>                 import.meta.webpackHot.accept();
|                 // This field is set when the previous version of this module was a
|                 // Refresh Boundary, letting us know we need to check for invalidation or

Import trace for requested module:
./node_modules/antd/node_modules/classnames/index.js
./node_modules/antd/es/message/PurePanel.js
./node_modules/antd/es/message/index.js
__barrel_optimize__?names=message!=!./node_modules/antd/es/index.js

with next: 14.2.3 and antd: 5.19.3. Downgrading next to next: 14.0.2 fixed the issue.

worked! thank you

bcanedo4 commented 1 month ago

Upgrading the classnames npm package to 2.5.1 fixed it for me.