2016-12-30 8 views
0

Я пытаюсь реализовать приложение express/typescript/gulp, оно работает, но я до сих пор не могу его отлаживать с использованием исходных карт.Экспресс-код дескриптора в Visual Studio Code Debug

Вот моя установка

Глоток Файл

var gulp = require('gulp'), 
    nodemon = require('gulp-nodemon'), 
    livereload = require('gulp-livereload'), 
    sourcemaps = require('gulp-sourcemaps'), 
    gulpPlumber = require('gulp-plumber'), 
    merge = require('merge2'), 
    ts = require('gulp-typescript'); 

var tsProject = ts.createProject('tsconfig.json'); 

gulp.task('typescript', function() { 
    console.log('Compiling TypeScript'); 

    var tsResult = gulp.src(['src/**/*.ts']) 
     .pipe(gulpPlumber()) 
     .pipe(sourcemaps.init()) 
     .pipe(tsProject()); 

    // merge dts & js output streams... 
    return merge([ 
     // type definitions 
     tsResult.dts 
      .pipe(gulp.dest("./src/")), 
      // javascript 
     tsResult.js 
      //.pipe(sourcemaps.write(writeOptions)) 
      .pipe(gulp.dest('./src/')) 
     ]); 


}); 

gulp.task('serve', ['typescript'], function() { 

    gulp.watch('./**/*.ts', ['typescript']); 

    livereload.listen(); 

    nodemon({ 
     script: './relax', 
     ext: 'js', 
    }).on('restart', function() { 
     setTimeout(function() { 
      console.log("reload!"); 
      livereload.reload(); 
     }, 500); 
    }); 

}); 

Вот VS Code Launch Файл:

"configurations": [ 
    { 
     "name": "Launch Program", 
     "type": "node2", 
     "request": "launch", 
     "program": "${workspaceRoot}\\relax.js", 
     "cwd": "${workspaceRoot}", 
     "outFiles": [], 
     "sourceMaps": true 
    }, 
    { 
     "name": "Attach to Process", 
     "type": "node2", 
     "request": "attach", 
     "address": "localhost", 
     "restart": false, 
     "sourceMaps": false, 
     "localRoot": "${workspaceRoot}", 
     "remoteRoot": null, 
     "port": 5858 
    } 
] 

Полный код можно найти в мерзавца репо по адресу: https://github.com/MichalZak/beanbag

Я не могу подключить этот процесс к моему серверу узлов. Какие-либо предложения?

ответ

0

Причина, по которой исходные карты не используются, потому что их не существует. Другими словами, вы не пишете/не сохраняете сгенерированные исходные карты. Вы можете сделать это, добавив эти пару строк к вашему gulpfile.js:

return merge([ 
... 
    ]) 
    .pipe(sourcemaps.write()) 
    .pipe(gulp.dest('./src/')); 
+0

Спасибо, за помощь. –

+0

@MikeZak Добро пожаловать :) –