首页 > 解决方案 > 服务器错误 SyntaxError:意外的令牌“导出”

问题描述

我正在尝试将动画插件集成到 NextJS 应用程序中。在本地和沙盒上运行,我收到一个

'服务器错误语法错误:意外的令牌'导出'

安装和导入插件后立即出错。

即使在完全空白的设置中也会发生这种情况,其中只导入有问题的插件:

https://codesandbox.io/s/interesting-moon-5vxeh?file=/pages/index.js

在查看了无数关于这个问题的 SO 条目后,根本原因与 Node、Babel 或 ES6 相关,但没有给我留下任何关于在 NextJS 应用程序中从哪里开始修复这个问题的提示。

这个问题可以在应用程序中的哪个位置解决?

标签: node.jsreactjsnext.js

解决方案


至于这个特定的插件,直接导入是行不通的。

该插件需要使用 useEffect 包装到一个单独的组件中:

    import { useEffect } from "react"

const LugeReact = () => {
  useEffect(() => {
    import("@waaark/luge/dist/js/luge")
      .then((luge) => {
        luge.lifecycle.refresh()
      })
      .catch((error) => console.error(error));
  })

  return (null);
}

export default LugeReact

然后导入即可使用。


推荐阅读