gulp-typescript 无法转译我的项目 TS 文件



不太确定以下配置有什么问题,但由于某种原因,它不想转译我项目的 ts 文件。如下所示,它在运行 gulp 任务时甚至不会抛出任何错误。它只是运行得好像一切正常,不产生任何.js文件,也不创建构建目录。

(也在管理员模式下测试过,但没有运气)

当我手动运行tsc -p config/tsconfig.json时一切正常

版本:

    λ gulp -v
    [00:13:03] CLI version 1.2.2
    [00:13:03] Local version 3.9.1
    +-- typescript@2.1.5
    λ node -v
    v6.9.4

项目目录结构:

  • 来源/

    • app/( 包含所有应用 TS 文件 )
  • 配置/

    • tsconfig.json
  • 古尔普文件.js

  • 包.json

gulpfile.js

const gulp = require('gulp');
const del = require('del');
const tsc = require("gulp-typescript");
const sourcemaps = require('gulp-sourcemaps');
var config = {
  jit: {
    root: './build/jit',
    index: 'index-jit.html'
  },
  aot: {
    root:'./build/aot/dist',
    index: 'index-aot.html'
  }
};
 gulp.task("compile:jit", () => {
  let tsProject = tsc.createProject("config/tsconfig.json");
  log("[JIT] Compiling all .ts files")
    let tsResult = tsProject.src()
        .pipe(sourcemaps.init())
        .pipe(tsProject());
    return tsResult.js
        .pipe(sourcemaps.write(".", {sourceRoot: '/src'}))
        .pipe(gulp.dest(tsProject.options.outDir));
});

tsconfig.json

{
    "compilerOptions": {
        "target": "es5",
        "module": "commonjs",
        "moduleResolution": "node",
        "lib": [ "es2015", "dom" ],
        "outDir": "../build/jit/app",
        "suppressImplicitAnyIndexErrors": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false,
        "sourceMap": true,
        "typeRoots": [
          "../node_modules/@types/"
        ]
    },
    "include": [
        "../src/**/*.ts"
    ],
    "exclude": [
        "../node_modules",
        "../src/**/*-aot.ts"
    ]
}

运行时我得到的唯一输出gulp -LLLL compile:jit

[23:49:34] Using gulpfile [project_dir]/gulpfile.js
[23:49:34] Starting 'compile:jit'...
[23:49:34] [JIT] Compiling all .ts files
[23:49:34] Finished 'compile:jit' after 75 ms

事实证明,由于gulp无法读取我的路径,因此无法处理文件,因为它包含"非标准"路径字符。

C:/[Dev]/Project

显然是方括号导致了问题,因为当我将项目移动到C:/Project时,一切都突然开始工作。

最新更新