typescript - Hur lägger man till en post-tsc-bygguppgift som kopierar filer?


Hur man lägger till en annan uppgift i VSCode, som kopierar filer från x till y, efter tsc-bygguppgiften?

Svar #1

Du kan använda npm scripts för detta. Till exempel min package.json:

"scripts": {
  "compile": "tsc -p . ",
  "html": "cp -r ./src/public/ ./bin/public/",
  "views": "cp -r ./src/views/ ./bin/views/",
  "build": "npm run compile && npm run views && npm run html"
}

Här är 2 skript html och views för kopiering och uppgift build kör dem samtidigt. I tasks.json har jag nästa:

{
    "version": "0.1.0",
    "command": "npm",
    "isShellCommand": true,
    "showOutput": "silent",
    "suppressTaskName": true,
    "tasks": [
        {
            "taskName": "build",
            "args": [
                "run",
                "build"
            ]
        }
    ]
}

Så shift+cmd+B kommer att köra npm build-skriptet.

Svar #2

Du kan använda en uppgiftskörning som gulp för att åstadkomma detta...

Du kan konfigurera vscode att köra build-uppgiften nedan, som är beroende av compile-uppgiften.

var gulp = require('gulp'),
  exec = require('child_process').exec;

gulp.task('build', ['compile'], function () {
  return gulp.src('./config/**/*.json')
    .pipe(gulp.dest('./dist'));
});

gulp.task('compile', function (done) {
  exec('tsc -p ./app', function (err, stdOut, stdErr) {
    console.log(stdOut);
    if (err){
      done(err);
    } else {
      done();
    }
  });
});

Det finns dokumentation om att köra gulp-uppgifter via VSCode här: https://code.visualstudio.com/Docs/tasks

Relaterade artiklar