让前端飞TypeScript 极简教程TypeScript基础

typescript-plus v5.0.4

2023-08-31  本文已影响0人  来一斤BUG

前言

npm上有个包叫typescript-plus,上一次更新是在2018年,tsc版本还停留在3.1.3,很多新语法和新功能不支持了。于是我照着这个包修改了typescript v5.0.4,让其支持了typescript-plus的功能(主要是emitReflectionreorderFilesdefines)。

下载

Release 5.0.4.1 · 1045290202/typescript-plus (github.com)

用法

由于暂时没有上传到npm,无法使用npm安装,所以这里提供一下使用方法

import * as ts from "[typescript-plus解压目录]";

const projDir: string = ""; // 项目路径

function tsc() {
    const configFileName: string = path.join(projDir, "tsconfig.json");
    let tsConfig: string | undefined = ts.sys.readFile(configFileName);
    if (!tsConfig) {
        console.error("tsconfig.json不存在");
        return;
    }
    const jsonResult: { config?: any; error?: ts.Diagnostic } = ts.parseConfigFileTextToJson(configFileName,tsConfig);
    const optionResult: ts.ParsedCommandLine = ts.parseJsonConfigFileContent(jsonResult.config, ts.sys, projDir);
    const tsProgram: ts.Program = ts.createProgram(optionResult.fileNames, optionResult.options);
    tsProgram.emit();
    
    // 这个方法可以拿到排序后的源代码文件路径,此功能由typescript-plus提供
    // const sortResult: ts.SortingResult = ts.reorderSourceFiles(tsProgram);
}

tsc();

已知问题

  1. watch模式下无法使用reorderFiles(对文件重新排序)功能,这个问题在旧版typescript-plus包中就存在,我暂时也没有帮助其修复,详见https://github.com/domchen/typescript-plus/issues/18

其他

如果你觉得不错,可以点个star:typescript-plus by 来一斤BUG

上一篇 下一篇

猜你喜欢

热点阅读