Typescript v 2.7发布了真正好的标记,称为--esModuleInterop https://www.typescriptlang.org/docs/handbook/compiler-options.html,我试图找出是否有一种方法可以将它与tsconfig.json一起使用,因为目前似乎尚无记录:http://www.typescriptlang.org/docs/handbook/tsconfig-json.html

除非它与module?一起工作

我要实现的主要用例是能够导入这样的东西
import React from "react"
相对于
import * as React from "react"
并尽可能从我的tsconfig中执行此操作

最佳答案

是的,在tsconfig.json中执行"esModuleInterop": true。对于可以传递给CLI的每个标志选项,通常可以通过这种方式在配置文件中进行相同的操作。在命令行上执行tsc --init会生成一个充满注释的tsconfig,解释所有可用选项。

编辑:我了解到esModuleInterop的行为取决于设置为module的行为。

如果您有"module": "commonjs",则只需启用"esModuleInterop": true

如果您具有"module": "es2015""module": "esnext",则还必须启用"allowSyntheticDefaultImports": true,以默认导入ImportJS模块(例如React)。

关于typescript - 有没有办法在tsconfig中使用--esModuleInterop而不是将其作为标志?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48785451/

10-15 00:01