TSConfig文件详解25

2024-07-12  本文已影响0人  从零开始学ArchLinux

编译器配置项-compilerOptions

输出相关配置项09

源代码映射 - sourceMap

这个选项可以启用源代码映射文件的生成。这些文件允许调试器或者其它工具运行JavaScript代码时显示TypeScrit的源代码。源代码映射文件(.js.map/.jsx.map)作为相应输出的.js 文件的伴生文件。

.js文件将包含一个 sourcemap 注释,以指示外部工具的文件位置,例如:

// helloWorld.ts
export declare const helloWorld = "hi";

sourceMap设置为true进行编译将会创建以下 JavaScript 文件:

// helloWorld.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.helloWorld = "hi";
//# sourceMappingURL=// helloWorld.js.map

同时也会生成这个json映射文件:

// helloWorld.js.map
{
  "version": 3,
  "file": "ex.js",
  "sourceRoot": "",
  "sources": ["../ex.ts"],
  "names": [],
  "mappings": ";;AAAa,QAAA,UAAU,GAAG,IAAI,CAAA"
}  `

源代码映射文件根位置 - sourceRoot

指定调试器应定位的 TypeScript 文件的位置,而不是相对源代码映射文件位置。这个指定的位置字符串将在每个.jssourcemap注释中处理,这个字符串可以是一个目录或者URL:

{
  "compilerOptions": {
    "sourceMap": true,
    "sourceRoot": "https://my-website.com/debug/source/"
  }
}

以上的配置将在index.js 文件中声明他的源文件为: https://my-website.com/debug/source/index.ts

忽略内部代码8 - stripInternal

不要为 JSDoc 注释中具有@internal注释的代码添加declare。这是一个内部编译器选项,使用它你将自行承担风险,因为编译器不会检查生成的结果是否有效。如果你正在寻找一种工具来处理 d.ts 文件中的有关可见性的高级功能,请查看 api-extractor

/**
 * Days available in a week
 * @internal
 */
export const daysInAWeek = 7;

/** Calculate how much someone earns in a week */
export function weeklySalary(dayRate: number) {
  return daysInAWeek * dayRate;
}

如果将stripInternal设置为false(默认值):

/**
 * Days available in a week
 * @internal
 */
export declare const daysInAWeek = 7;
/** Calculate how much someone earns in a week */
export declare function weeklySalary(dayRate: number): number;

如果将stripInternal设置为trued.ts文件将生成为:

/** Calculate how much someone earns in a week */
export declare function weeklySalary(dayRate: number): number;

而输出的JavaScript代码是一样的。

上一篇下一篇

猜你喜欢

热点阅读