2017-01-28 5 views
1

Не совсем уверен, что не так с приведенной ниже конфигурацией, но по какой-то причине он не хочет пересылать файлы ts моего проекта. Как показано ниже, он даже не вызывает ошибок при выполнении задачи gulp. Он просто работает, как будто все в порядке и не создает никаких файлов .js, и не создает каталог сборки.gulp-typescript не может перекрыть мои файлы ts проекта

(также протестировали в режиме администратора, но не повезло)

Все работает, когда я вручную запустить tsc -p config/tsconfig.json

версии: структура каталогов

λ gulp -v 
    [00:13:03] CLI version 1.2.2 
    [00:13:03] Local version 3.9.1 

    +-- [email protected] 

    λ node -v 
    v6.9.4 

Проект:

  • SRC/

    • приложение/(содержит все приложения TS файлы)
  • конфигурации/

    • tsconfig.json
  • gulpfile.js

  • package.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 
+0

Какую версию машинописного текста/tsc gulp-typescript вы используете? Есть ли git-проект, который мы можем проверить и скомпилировать/опробовать сами? Потому что я действительно не вижу непосредственной проблемы:/- Ссылка на https://github.com/aredfox/electron-starter. У меня, похоже, есть аналогичная настройка, которую я могу запустить без проблем. PS; не то, чтобы это повлияло на результат, byt «typeRoots» больше не требуется при использовании «npm i @ types/ --save (- dev)», поскольку он будет искать его автоматически. –

+0

ps; Я вижу, что вы используете «outDit» из tsConfig. Пробовали ли вы определить gulp.dest ('./ some/path /'), чтобы узнать, что происходит? В другой заметке, почему я попросил репозиторий git, мы можем клонировать то, что я обнаружил, что tsc и gulp-typescript иногда терпят неудачу в самом деле - и их трудно отлаживать, когда нет выхода. –

+1

Я обновил сообщение с помощью машинописной версии. Я попытаюсь собрать пример для вас, чтобы увидеть весь проект. Дело в том, что я использую ту же конфигурацию на другом компьютере с win7, и все работает отлично. Теперь, когда я копирую его, а затем создаю проект с теми же конфигурациями на моем другом компьютере (win 10), он похоже, не работает. Я также дважды проверю, является ли версия tsc, node gulp одинаковой. Но все же я не вижу причин, почему это не должно работать. – Alexus

ответ

0

оказалось, что файлы не могут быть обработаны, потому что gulp не смог прочитать мой путь, поскольку он содержал «нестандартный» путь.

C:/[Dev]/Project 

Очевидно, это было квадратные скобки, вызывающие проблемы, вызывают, когда я переместил проект C:/Project, все вдруг начали работать.