Я пытаюсь принести приложение типа из среды ASP.NET MVC в отдельное приложение, чтобы разделить потребности в интерфейсе и бэкэнд.gulp-typescript компилятор не скомпилирует мои файлы
Тип машинописи остается неизменным, и я попытался скомпилировать машинописный текст с помощью gulp
, но код, похоже, не компилируется. Я следовал this blogpost от Дэна Вахлина. Но машинопись не компилируется. Я на компьютере с Windows 8.1 с установленной версией Visual Studio 2015 Premium.
Структура каталогов моего проекта заключается в следующем:
/
-- App/
---- Controllers/
------ xxController.ts
-- Scripts/
---- typings/
------ xxlibrary/
-------- library.d.ts
---- tsd.d.ts
Файлы я являются следующие:
Gulpfile.config.js:
'use strict';
var GulpConfig = (function() {
function gulpConfig() {
this.source = '/App';
this.tsOutputPath = '/Scripts';
this.allJavaScript = ['/Scripts/**/*.js'];
this.allTypeScript = this.source + '/**/*.ts';
this.typings = '/Scripts/typings';
this.libraryTypeScriptDefinitions = this.typings + '/**/*.ts';
}
return gulpConfig;
})();
module.exports = GulpConfig;
Пожалуйста, обратите внимание, что при Я использую нотацию «./», как показано в конфигурационном галпе Dan Wahlin, дает мне исключение:
[11:08:11] Using gulpfile D:\Files\Work\Source\ImageManagement\Imagemanagement.App\Gulpfile.js
[11:08:11] Starting 'ts-lint'...
[11:08:11] Starting 'compile-ts'...
stream.js:94
throw er; // Unhandled stream error in pipe.
^
SyntaxError: Unexpected token
gulpfile.js:
'use strict';
var gulp = require('gulp'),
debug = require('gulp-debug'),
inject = require('gulp-inject'),
tsc = require('gulp-typescript'),
tslint = require('gulp-tslint'),
sourcemaps = require('gulp-sourcemaps'),
del = require('del'),
Config = require('./gulpfile.config'),
tsProject = tsc.createProject('tsconfig.json'),
browserSync = require('browser-sync'),
superstatic = require('superstatic');
var config = new Config();
/**
* Compile TypeScript and include references to library and app .d.ts files.
*/
gulp.task('compile-ts', function() {
var sourceTsFiles = [config.allTypeScript, //path to typescript files
config.libraryTypeScriptDefinitions]; //reference to library .d.ts files
var tsResult = gulp.src(sourceTsFiles)
.pipe(sourcemaps.init())
.pipe(tsc(tsProject));
tsResult.dts.pipe(gulp.dest(config.tsOutputPath));
return tsResult.js
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest(config.tsOutputPath));
});
Когда я запускаю этот gulpfile.js нет никакой ошибки выброшен, но не выход в Scripts
, как я ожидал.
[11:15:08] Using gulpfile D:\Files\Work\Source\ImageManagement\Imagemanagement.App\Gulpfile.js
[11:15:08] Starting 'compile-ts'...
[11:15:08] Finished 'compile-ts' after 6.84 ms
Process terminated with code 0.
Не могли бы вы просто запустить задачу компиляции ('gulp compile-ts') и удалить свой вопрос, чтобы исключить все остальные задачи? Таким образом, мы можем изолировать проблему. Btw, попробуйте сделать это: 1. Используйте ['gulp-debug'] (https://www.npmjs.com/package/gulp-debug), чтобы убедиться, что вы получаете файлы в' gulp.src (sourceTsFiles) '. 2. Попробуйте сделать: 'return gulp.src (sourceTsFiles) .pipe (sourcemaps.init()). Pipe (ts (tsProject)). Pipe (sourcemaps.write (" ./ ")). Pipe (gulp.dest (config.tsOutputPath)); 'in' compile-ts' вместо этого. –
Я пробовал то, что вы предлагали, и я надеюсь, что я сделал это правильно: 1. добавила .pipe (debug (sourceTsFiles)) в строку кода и выводит '[16:52:05] gulp-debug: 0 items' Я попытался рефакторинга это, но это не улучшило: 'возвращение gulp.src (sourceTsFiles) .pipe (отладочные (sourceTsFiles)) .pipe (sourcemaps.init()) .pipe (TSC (tsProject)) .pipe (sourcemaps.write ('./')) .pipe (gulp.dest (config.tsOutputPath)); ' – VeldMuijz
Хорошо, забудьте о второй части, о которой я упомянул. Если вы выполните: 'gulp.src (sourceTsFiles) .pipe (debug())' 'элементы' 'означает, что' gulp.src (sourceTsFiles) 'не находит никаких файлов. Убедитесь, что пройденные пути верны. Прямо сейчас, похоже, что это выглядит в '/ App/**/*. Ts' –