在 React 中导入 Framer Motion v5 时出错(使用 create-react-app)

Posted

技术标签:

【中文标题】在 React 中导入 Framer Motion v5 时出错(使用 create-react-app)【英文标题】:Error importing Framer Motion v5 in React (with create-react-app) 【发布时间】:2021-12-14 13:22:24 【问题描述】:

当我尝试使用成帧器动作为 div 做简单的动画时。在浏览器中出现以下错误

/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs

Can't import the named export 'Children' from non EcmaScript module (only default export is available)```

【问题讨论】:

升级到最新版本的成帧器运动时面临同样的问题。这可能是与发布相关的错误。目前通过降级 framer-motion 版本解决了这个问题,直到下一个版本到来。只需在 package.json 中添加 "framer-motion": "^4.1.17" 并运行 npm install。 谢谢,成功了。 非常感谢...它成功了。!!! @Waleed Tariq 【参考方案1】:

这对我有用。

npm uninstall framer-motion
npm install framer-motion@4.1.17

【讨论】:

点击诱饵文章。【参考方案2】:

这对我有用: 从 'framer-motion/dist/framer-motion' 导入 AnimatePresence, motion

【讨论】:

【参考方案3】:

解决无法从非 EcmaScript 模块导入命名导出 'Children'(只有默认导出可用)错误您只需将 Framer 运动版本降级到“4.1. 17” 现在,你的错误必须得到解决。

https://exerror.com/cant-import-the-named-export-children-from-non-ecmascript-module-only-default-export-is-available/

npm i framer-motion@4.1.17

【讨论】:

【参考方案4】:

我将 Framer 运动版本降级为“4.1.17”,它对我有用。

【讨论】:

你是怎么做到的,请解释一下 更改 package.json 文件并运行 npm install。【参考方案5】:

使用此导入解决 import motion from 'framer-motion/dist/es/index'

【讨论】:

【参考方案6】:

这是Framer Discord对该问题的回复

关于当前版本的 create-react-app (CRA) 的问题 该问题正在 GitHub 上进行跟踪:https://github.com/formatjs/formatjs/issues/1395

经过一番测试,问题似乎在于 CRA 如何处理 ESM 依赖项,尤其是传递依赖项似乎没有得到正确处理。 CRA 还有一个关于这个https://github.com/facebook/create-react-app/issues/10356 的悬而未决的问题。

选项:

    这是固定的/不会在您今天可以尝试的下一版本 CRA 中中断 (https://github.com/facebook/create-react-app/discussions/11278) 请注意,尽管它仍处于 alpha 阶段。

    您可以修补 CRA 以解决该问题,如其他库的许多票证中所述

https://github.com/formatjs/formatjs/issues/1395#issuecomment-518823361 https://github.com/reactioncommerce/reaction-component-library/issues/399#issuecomment-467860022

【讨论】:

以上是关于在 React 中导入 Framer Motion v5 时出错(使用 create-react-app)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 react-testing-library 和 framer-motion 测试 mousemove 拖放

是否可以在带有 pug 的 React 中使用 Framer Motion

React-router-dom (v6) 和 Framer Motion (v4)

如何在 framer-motion styled-component 上定义道具? (PSA)

我无法在 React 中导入组件

在 React 组件中导入 Json 文件