相关疑难解决方法(0)

了解tsconfig文件中的esModuleInterop

我正在检查某人的.tsconfig文件,发现了--esModuleInterop

这是他的.tsconfig档案

{
  "compilerOptions": {
    "moduleResolution": "node",
    "target": "es6",
    "module": "commonjs",
    "lib": ["esnext"],
    "strict": true,
    "sourceMap": true,
    "declaration": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "experimentalDecorators": true,
    "emitDecoratorMetadata": true,
    "declarationDir": "./dist",
    "outDir": "./dist",
    "typeRoots": ["node_modules/@types"]
  },
  "include": ["src/**/*.ts"],
  "exclude": ["node_modues"]
}
Run Code Online (Sandbox Code Playgroud)

在这里,我的主要问题是 "esModuleInterop": true,"allowSyntheticDefaultImports": true,。我知道他们有点依赖 "module": "commonjs",。有人可以尝试用最好的人类语言来解释它吗?

allowSyntheticDefaultImports州的官方文档

允许从模块进行默认导入而没有默认导出。这不影响代码发出,仅影响类型检查。

那是什么意思?如果没有任何导出默认值,我认为导入默认值的唯一用例就是初始化某些东西?喜欢单身人士吗?

以下问题/答案也没有意义, 是否可以在tsconfig中使用--esModuleInterop而不是将其作为标志?

--esModuleInterop在编译器页面上定义

发出__importStar和__importDefault帮助程序以实现运行时babel生态系统兼容性,并启用--allowSyntheticDefaultImports以实现类型系统兼容性。

我似乎也很难理解/理解

typescript

31
推荐指数
2
解决办法
1万
查看次数

在可视化代码中调试 Angular/Typescript 将“_1”附加到变量

我正在尝试在可视代码中调试角度/打字稿应用程序。假设我运行以下代码

try {
    ...
} catch (error) {
    console.log(error);
}
Run Code Online (Sandbox Code Playgroud)

假设发生错误,我将在控制台中看到正常执行时记录的错误。我面临的问题是,如果我在调试模式下运行相同的情况(“针对本地主机启动 Chrome”)。我会得到:

“未捕获的引用错误:错误未定义”

如果我在调试视图中查看“Closure”部分而不是“Local”部分。我可以访问error_其中确实包含正常执行中通常记录的内容。

有没有办法在角度/打字稿应用程序中查看错误而error不是在调试模式下?error_1

我尝试了 Typescript/babel import 的建议,导致“ _1.default is not a function,但没有成功。

错误预览

typescript visual-studio-code angular

6
推荐指数
1
解决办法
775
查看次数

标签 统计

typescript ×2

angular ×1

visual-studio-code ×1