learn-typescript

typescript 配置参数

只记录了常用的配置参数。

–declaration

生成相应的 .d.ts 文件。

generates corresponding .d.ts files.

–declarationDir

指定生成的声明文件的存放目录。

Output directory for generated declaration files.

–emitDeclarationOnly

只生成 .d.ts 声明文件。

Only emit .d.ts declaration files.

–esModuleInterop

生成 __importStar/ __importDefault 帮助函数,来解决不同的模块系统间 import/export default 的差异问题。

Emit __importStar and __importDefault helpers for runtime babel ecosystem compatibility and enable --allowSyntheticDefaultImports for typesystem compatibility.

–importHelpers

tslib 库导入帮助函数(如: **extends, **rest 等)【需要安装 tslib 为项目依赖】,主要解决每个文件都引入一次帮助函数导致的代码冗余。

Import emit helpers (e.g. **extends , **rest, etc…) from tslib

–noEmitHelpers

编译后的文件中不生成 tsc 自带的帮助函数(如: __extends),配合 --importHelpers 使用。

Do not generate custom helper functions like __extends in compiled output.

–isolatedModules

将每个文件视为独立的模块, 确保独立的编译是安全的。(如使用 babel 代替 tsc 来编译)

–jsx

指定如何处理 jsx 语法,默认为 preserve ,保留 jsx 不转义。

–module

生成哪种模块系统的代码,使用 babel 编译时指定 ESNEXT 。

–moduleResolution

指定模块解析策略, 使用 babel 编译时需要显式指定 NODE 。

–noEmit

不生成输出后的代码,只进行代码检查。 使用 babel 编译时可以配置来让 tsc 只进行代码检查。

–strict

开启所有严格检查。

–sourceMap

指定是否生成源码映射文件。 使用 babel 编译时无需开启。

补充: 通过 sourcemap 查找原始报错信息

生产环境中的错误可以通过 window.onerror 来捕获,以此来搜集使用时的 bug。 而生产环境的代码都是压缩混淆过的, 需要通过 sourcemap 来映射回源代码,从而确定出错位置的行号和列号。
根据生产环境收集的错误行号列号,和 sourcemap 文件找到源代码的行号列号,需要用到 mozilla/source-map 这个工具。