如何添加复制文件的 post tsc 构建任务?
How to add a post tsc build task that copy files?
如何在 tsc 构建任务之后向 VSCode 添加另一个任务,将文件从 x 复制到 y?
您可以使用像 gulp 这样的任务 运行 来完成这个...
您可以将 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();
}
});
});
这里有关于通过 vscode 执行 gulp 任务的文档:https://code.visualstudio.com/Docs/tasks
您可以为此使用 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"
}
这里有 2 个脚本 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
脚本。
如果您 运行 正在执行某种 "developer mode" 并且需要 --watch
将文件更改为 运行 每次编译后的任务,我更喜欢使用tsc-watch 来完成这个。
例如,在package.json
中:
{
"scripts": {
"dev": "tsc-watch --onSuccess=\"yarn otherThing\"",
"otherThing": "echo \"hi\""
}
}
如何在 tsc 构建任务之后向 VSCode 添加另一个任务,将文件从 x 复制到 y?
您可以使用像 gulp 这样的任务 运行 来完成这个...
您可以将 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();
}
});
});
这里有关于通过 vscode 执行 gulp 任务的文档:https://code.visualstudio.com/Docs/tasks
您可以为此使用 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"
}
这里有 2 个脚本 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
脚本。
如果您 运行 正在执行某种 "developer mode" 并且需要 --watch
将文件更改为 运行 每次编译后的任务,我更喜欢使用tsc-watch 来完成这个。
例如,在package.json
中:
{
"scripts": {
"dev": "tsc-watch --onSuccess=\"yarn otherThing\"",
"otherThing": "echo \"hi\""
}
}