Как добавить еще одну задачу в VSCode, которая копирует файлы с x на y после задачи сборки tsc?
Как добавить задачу post tsc build, которая копирует файлы?
Ответ 1
Вы можете использовать бегуна задач, таких как глоток, чтобы сделать это...
Вы можете настроить vscode для запуска задачи build
ниже, которая зависит от задачи compile
.
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();
}
});
});
Здесь есть документация по запуску задач gulp через vscode: https://code.visualstudio.com/Docs/tasks
Ответ 2
Вы можете использовать npm scripts
для этого. Например, мой 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"
}
Здесь два сценария html
и views
для копирования, а задача build
запускает их одновременно.
В tasks.json
у меня есть следующее:
{
"version": "0.1.0",
"command": "npm",
"isShellCommand": true,
"showOutput": "silent",
"suppressTaskName": true,
"tasks": [
{
"taskName": "build",
"args": [
"run",
"build"
]
}
]
}
Итак shift+cmd+B
будет запускать npm build
script.
Ответ 3
Если вы работаете в каком-то "режиме разработчика" и вам нужно --watch
, чтобы изменения файлов запускались после каждой компиляции, я предпочитаю использовать tsc-watch для этого.
Например, в package.json
:
{
"scripts": {
"dev": "tsc-watch --onSuccess=\"yarn otherThing\"",
"otherThing": "echo \"hi\""
}
}