allowSyntheticDefaultImports : Allow Synthetic Default Imports (允许有没有默认导出的模块导入)
出现问题
新建ts项目导入react 出错,发现了allowSyntheticDefaultImports属性。
allowSyntheticDefaultImports 配置介绍
当allowSyntheticDefaultImports 设置为true 的时候,允许下面的导入:
import React from "react";
用来替代:
import * as React from "react";
举例用户没有提供默认导入的时候:
上面的代码会报错,因为没有提供一个默认导出用来引入,尽管看起来是对的。为了方便起见,编译器会想babel 一样创建一个默认导出。模块变化代码为:
此标志不会影响 TypeScript 发出的 JavaScript,它仅用于类型检查。此选项将 TypeScript 的行为与 Babel 内联,其中会发出额外的代码以使使用模块的默认导出更符合人体工程学。