编译器配置项-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 文件的位置,而不是相对源代码映射文件位置。这个指定的位置字符串将在每个.js
的sourcemap
注释中处理,这个字符串可以是一个目录或者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
设置为true
,d.ts
文件将生成为:
/** Calculate how much someone earns in a week */
export declare function weeklySalary(dayRate: number): number;
而输出的JavaScript代码是一样的。
网友评论