Node.js 无法使用VS代码调试器将断点设置为typescript
我的项目具有以下结构Node.js 无法使用VS代码调试器将断点设置为typescript,node.js,debugging,typescript,visual-studio-code,Node.js,Debugging,Typescript,Visual Studio Code,我的项目具有以下结构 .vscode | |____launch.json dist | |____server.js | |____server.js.map node_modules src | |____server.ts gulpfile.js package.json tsconfig.json 我的launch.json是 { "version": "0.2.0", "configurations": [ {
.vscode
| |____launch.json
dist
| |____server.js
| |____server.js.map
node_modules
src
| |____server.ts
gulpfile.js
package.json
tsconfig.json
我的launch.json
是
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach",
"type": "node",
"request": "attach",
"port": 9229,
"address": "localhost",
"restart": false,
"sourceMaps": true,
"outFiles": ["${workspaceRoot}/dist/**/*.js"],
"localRoot": "${workspaceRoot}/src/**/*.js",
"remoteRoot": null,
"protocol": "inspector"
}
]
}
const gulp = require('gulp');
const ts = require('gulp-typescript');
const nodemon = require('gulp-nodemon');
const sourcemaps = require('gulp-sourcemaps');
const JSON_FILES = ['src/*.json', 'src/**/*.json'];
// pull in the project TypeScript config
const tsProject = ts.createProject('tsconfig.json');
gulp.task('scripts', () => {
return tsProject.src()
.pipe(sourcemaps.init())
.pipe(tsProject())
.js.pipe(sourcemaps.write("."))
.pipe(gulp.dest('dist'));
});
gulp.task('watch', ['scripts'], () => {
return gulp.watch('src/**/*.ts', ['scripts']);
});
gulp.task('assets', function () {
return gulp.src(JSON_FILES)
.pipe(gulp.dest('dist'));
});
gulp.task('nodemon', ['scripts', 'assets', 'watch'], () => {
nodemon({
script: './dist/bin/start.js',
nodeArgs: ['--inspect']
});
});
gulp.task('default', ['nodemon']);
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"outDir": "dist"
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules"
]
}
我的gulpfile.js
是
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach",
"type": "node",
"request": "attach",
"port": 9229,
"address": "localhost",
"restart": false,
"sourceMaps": true,
"outFiles": ["${workspaceRoot}/dist/**/*.js"],
"localRoot": "${workspaceRoot}/src/**/*.js",
"remoteRoot": null,
"protocol": "inspector"
}
]
}
const gulp = require('gulp');
const ts = require('gulp-typescript');
const nodemon = require('gulp-nodemon');
const sourcemaps = require('gulp-sourcemaps');
const JSON_FILES = ['src/*.json', 'src/**/*.json'];
// pull in the project TypeScript config
const tsProject = ts.createProject('tsconfig.json');
gulp.task('scripts', () => {
return tsProject.src()
.pipe(sourcemaps.init())
.pipe(tsProject())
.js.pipe(sourcemaps.write("."))
.pipe(gulp.dest('dist'));
});
gulp.task('watch', ['scripts'], () => {
return gulp.watch('src/**/*.ts', ['scripts']);
});
gulp.task('assets', function () {
return gulp.src(JSON_FILES)
.pipe(gulp.dest('dist'));
});
gulp.task('nodemon', ['scripts', 'assets', 'watch'], () => {
nodemon({
script: './dist/bin/start.js',
nodeArgs: ['--inspect']
});
});
gulp.task('default', ['nodemon']);
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"outDir": "dist"
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules"
]
}
我的tsconfig.json
是
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach",
"type": "node",
"request": "attach",
"port": 9229,
"address": "localhost",
"restart": false,
"sourceMaps": true,
"outFiles": ["${workspaceRoot}/dist/**/*.js"],
"localRoot": "${workspaceRoot}/src/**/*.js",
"remoteRoot": null,
"protocol": "inspector"
}
]
}
const gulp = require('gulp');
const ts = require('gulp-typescript');
const nodemon = require('gulp-nodemon');
const sourcemaps = require('gulp-sourcemaps');
const JSON_FILES = ['src/*.json', 'src/**/*.json'];
// pull in the project TypeScript config
const tsProject = ts.createProject('tsconfig.json');
gulp.task('scripts', () => {
return tsProject.src()
.pipe(sourcemaps.init())
.pipe(tsProject())
.js.pipe(sourcemaps.write("."))
.pipe(gulp.dest('dist'));
});
gulp.task('watch', ['scripts'], () => {
return gulp.watch('src/**/*.ts', ['scripts']);
});
gulp.task('assets', function () {
return gulp.src(JSON_FILES)
.pipe(gulp.dest('dist'));
});
gulp.task('nodemon', ['scripts', 'assets', 'watch'], () => {
nodemon({
script: './dist/bin/start.js',
nodeArgs: ['--inspect']
});
});
gulp.task('default', ['nodemon']);
{
"compilerOptions": {
"target": "es6",
"module": "commonjs",
"outDir": "dist"
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules"
]
}
我使用执行gulp
的npm run startdev
启动开发环境。因此,nodemon
的默认gulp任务被运行,它将我的代码编译到dist
文件夹中。我可以附加调试器,但每当我尝试设置断点时,它都会变灰,并显示一条消息断点被忽略,因为找不到生成的代码(源代码映射问题?)。
我认为我的launch.json
配置不正确。我错过了什么