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?
我想实现的主要用例是能够导入这样的东西
从“react”导入 React
相对于
从“react”导入 * 作为 React
如果可能的话,从我的 tsconfig 中这样做
最佳答案
是的,在你的 tsconfig.json 中执行 "esModuleInterop": true
。对于可以传递给 CLI 的每个标志选项,通常可以在配置文件中以这种方式完成相同的操作。在命令行上执行 tsc --init
会生成一个 tsconfig,其中包含解释所有可用选项的注释。
编辑:我了解到 esModuleInterop
的行为取决于 module
的设置。
如果你有"module": "commonjs"
,你只需要启用"esModuleInterop": true
。
如果您有 "module": "es2015"
或 "module": "esnext"
,您还必须启用 "allowSyntheticDefaultImports": true
以便默认导入 CommonJS 模块(如 React)。
关于typescript - 有没有办法在 tsconfig 中使用 --esModuleInterop 而不是将其用作标志?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48785451/