gpt4 book ai didi

typescript - 带有 gulp-sourcemap : output files to same directory 的 gulp-typescript

转载 作者:搜寻专家 更新时间:2023-10-30 21:07:11 27 4
gpt4 key购买 nike

我正在使用 gulp-typescriptgulp-sourcemaps 用 sourcemaps 编译 TypeScript。我想将 .js 和源映射文件输出到与原始 .ts 文件相同的目录。

我正在使用 tsconfig.json 文件来配置 TypeScript,并且我正在使用 typings 来管理 TypeScript 定义文件。我自己的所有代码都在 js 目录中。这是我的项目结构:

project root
|-- js/
| |-- subdir/
| | |-- someScript.ts
| |-- app.ts
|-- typings/
| |-- someDefinitionFile.d.ts
|-- gulpfile.js
|-- tsconfig.json

现在我希望 app.js 出现在 js 目录中,someScript.js 出现在 js/子目录。另外,在 Chrome 中调试时,我想在“源”选项卡中保持相同的文件夹结构。

我为此配置了以下 gulp 任务:

var gulp = require("gulp");
var ts = require("gulp-typescript");
var tsProject = ts.createProject("tsconfig.json");
var sourcemaps = require('gulp-sourcemaps');

gulp.task("ts", function () {
var tsResult = tsProject
.src()
.pipe(sourcemaps.init())
.pipe(ts(tsProject)).js
.pipe(sourcemaps.write("."))
.pipe(gulp.dest("js"));
});

这有效地将 .js 文件输出到正确的目录中。但是,在 Chrome 中运行它并打开开发工具时,.ts 文件位于根目录下的“source”目录中,这意味着源映射文件包含不正确的根目录。

要在同一位置显示 .ts 文件和 .js 文件应该更改什么?

注意:这个问题类似于this一,除了我想使用 tsconfig.json,因此不能使用 gulp.src 或其 base 属性。

最佳答案

只需设置 gulp-sourcemap 写入选项的 sourceRoot 属性。此任务有效:

gulp.task("ts", function () {
tsProject.src()
.pipe(sourcemaps.init())
.pipe(ts(tsProject)).js
.pipe(sourcemaps.write({sourceRoot: "/js"}))
.pipe(gulp.dest("js"));
});

关于typescript - 带有 gulp-sourcemap : output files to same directory 的 gulp-typescript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37190799/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com