如何在 post 构建事件上开始 Typescript 编译

How to start Typescript compilation on post build event

我有一个 post 构建事件,该事件 运行 对我的一些控制器进行反射代码,以在打字稿中生成我的路线定义。如果我在我的 csproj 中激活 TypescriptCompile 选项,如果任何 Typescript 文件不正确,DLL 生成将失败。然后我的 post 构建事件将失败,因为 dll 不存在。

我想实现以下架构:

  1. 在没有 typescript 编译的情况下构建我的 dll
  2. 运行 我的 post 构建事件用我的路由定义生成打字稿文件
  3. 运行 另一个 post 编译/验证 ts 文件的构建事件如果不正确则失败

前 2 个步骤工作正常,但我卡在了最后一个步骤。在 csproj 文件上找不到 运行 typescript 编译的命令行。

假设在 post-build 事件中,TypeScript 源文件是在 .\tsc-src 下生成的。而且您使用的是 TypeScript 2.0。

您可以在 tsc-src 文件夹中包含一个 tsconfig.json 文件,其内容如下:

{
  "compilerOptions": {
    "baseUrl": "",
    "declaration": false,
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "lib": ["es6", "dom"],
    "mapRoot": "./",
    "module": "es6",
    "moduleResolution": "node",
    "outDir": "../tsc-dist",
    "sourceMap": true,
    "target": "es5"
  }
}

假设您的工作目录在项目文件夹中,如果您已经安装了 TypeScript 并且 tsc 在您的 PATH 中,您可以添加一个新的 post-build 事件命令tsc -p ./tsc-src 编译 TypeScript 源文件。

根据您的要求,您可能希望将 outDir 字段更改为 outFile 字段以发出单个 JavaScript 文件。这是文档的 pointer