【发布时间】:2021-02-06 09:22:16
【问题描述】:
好的,问题是在迁移到 gulp 调试器之前工作正常。这里有什么问题 我有带有以下配置的 tsconfig.json 文件
{
"compilerOptions": {
"target": "es2018",
"module": "commonjs",
"moduleResolution": "node",
"outDir": "dist",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"esModuleInterop": false,
"sourceMap": true,
"baseUrl": "src",
"typeRoots": ["node_modules/@types/", "./src/modules/@types/**/"],
"paths": {
"@/*": ["./*"]
}
},
"include": ["src"],
"exclude": ["./src/modules/@types"]
}
vscode 调试器任务是 npm: build,它基本上运行“tsc”命令。但对于其他一些情况,我需要添加 gulp 文件并盯着用 gulp 编译 ts(包括源映射等) 但是当 vscode 调试器开始运行时,它会尝试运行 node ./src/server.ts 而不是 ./dist/server.js 文件。当构建任务是 gulp 时会发生这种情况。使用 tsc 命令它仍然可以完美运行。 gulp 文件是否需要返回某些内容或任何其他配置来强制 vscode 调试器运行 ./dist/server.js?
gulpfile 在这里
const gulp = require("gulp")
const babel = require("gulp-babel")
var ts = require("gulp-typescript")
var sourcemaps = require('gulp-sourcemaps');
const tsProject = ts.createProject("tsconfig.json")
gulp.task("tsc", () =>
tsProject
.src()
.pipe(tsProject())
.pipe(gulp.dest("dist"))
)
gulp.task("sourcemaps", () =>
gulp.src("dist/**/*.js")
.pipe(sourcemaps.init())
.pipe(sourcemaps.write('.'))
.pipe(gulp.dest("dist"))
)
gulp.task("resolve:alias", () =>
gulp.src("dist/**/*.js")
.pipe(
babel({
plugins: [
[
"babel-plugin-module-resolver",
{
alias: {
"@": "./dist",
},
},
],
],
})
)
.pipe(gulp.dest("dist"))
)
module.exports.default = gulp.series("tsc", "resolve:alias", "sourcemaps")
我尝试了其他策略,例如单独运行 tsc。但即使删除所有其他任务并只运行 gulp tsc 任务也会失败但是标准 npx tsc pass
【问题讨论】:
标签: node.js typescript visual-studio-code gulp