CommonJS 要求与 ES6 导入差异

CommonJS require vs. ES6 import discrepancy

所以,我是 React 的新手。抱歉,如果我遗漏了一些明显的东西,我正在努力解决我的 ES6 导入的一个奇怪问题。

我正在使用 @typeform/embed 模块 (0.12.1),它奇怪地链接到 npm 上的 GitHub 存储库,但该存储库不存在。所以我没能调查潜在的相关问题。

无论如何,每当我执行以下操作时:

import typeformEmbed from '@typeform/embed'

我的文本编辑器显示 typeformEmbed 的类型是字符串,当我去调用它的函数时,它总是 undefined。给我 'ole cannot invoke 属性 X on undefined TypeError。看起来好像它正在尝试导入 README?

但是,然后我打开了我的 Node REPL 并且可以写:

const typeformEmbed = require('@typeform/embed')

它就像一个魅力。

我遗漏的两者之间是否存在差异?

编辑: 我知道这个问题的文字量很大,如果我遗漏了重要信息,请告诉我。我应该提到我用 create-react-app.

构建了这个项目
import * as typeformEmbed from '@typeform/embed';


const popUpHandler = () => {     

typeformEmbed.makePopup(
  'https://admin.typeform.com/to/PlBzgL',
  {
     mode: 'drawer_left',
     autoOpen: true,
     autoClose: 3,
     hideScrollbars: true,
     onSubmit: function () {
       console.log('Typeform successfully submitted')
  }
 }
)}

应该适合你