【问题标题】:Default Imports work differently between Babel and Typescript默认导入在 Babel 和 Typescript 之间的工作方式不同
【发布时间】:2018-01-30 01:26:39
【问题描述】:

这对于 Babel/Webpack 来说非常好

import React from 'react';

但在 Typescript 中需要:

import * as React from 'react';

什么原因?

【问题讨论】:

  • 第二个不是默认导入。还有foo是什么东西,怎么导出你要导入的东西?
  • 你将它用作 babel 中的默认导入...(这就是它的反应方式)
  • IIRC,这是一个特殊的 React.js 东西,它将所有内容都导出为命名和默认导出对象的属性。第二个在 Babel 中也应该可以正常工作。我猜 TypeScript 不喜欢第一个,因为它与类型声明不匹配。

标签: typescript ecmascript-6 babeljs es6-modules


【解决方案1】:

allowSyntheticDefaultImports 添加到您的tsconfig.json 以允许从没有默认导出的模块进行默认导入。

【讨论】:

  • 所以你的意思是 Babel 默认允许这样做?
  • 我认为这是因为 babel 开始的......不确定
猜你喜欢
  • 1970-01-01
  • 2013-12-12
  • 2021-06-02
  • 2018-10-14
  • 1970-01-01
  • 1970-01-01
  • 2022-12-07
  • 2016-06-19
  • 2017-01-16
相关资源
最近更新 更多