CommonJS require与ES6导入差异

时间:2019-08-11 01:24:30

标签: reactjs commonjs typeform

因此,我是React的新手。抱歉,如果我缺少明显的内容,我将为我的ES6导入遇到一个奇怪的问题。

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

无论如何,只要执行以下操作:

import typeformEmbed from '@typeform/embed'

我的文本编辑器显示typeformEmbed的类型是字符串,当我去调用它的函数时,它总是undefined。给我一个'ole无法在未定义的TypeError上调用属性X的信息。看起来好像是在尝试导入README

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

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

它就像一种魅力。

我缺少的两者之间是否有差异?

编辑:我知道这个问题非常繁琐,请告知我是否缺少重要信息。我应该提到我用create-react-app构建了这个项目。

1 个答案:

答案 0 :(得分:2)

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')
  }
 }
)}

应该为您工作