通过我目前正在开发的应用程序,我也在学习 Gulp 并使用源映射。该应用程序是 Typescript 和 Javascript 的混合体。这些文件被连接并缩小。传递文件gulp-uglify
时发生错误:
\src\App\node_modules\gulp-uglify\node_modules\vinyl-sourcemaps-apply\node_modules\source-map\lib\source-map\source-map-consumer.js:415
throw new Error('"' + aSource + '" is not in the SourceMap.');
^
Error: "Common.ts" is not in the SourceMap.
at SourceMapConsumer_sourceContentFor [as sourceContentFor] (Z:\Dev\financial-app\src\App\node_modules\gulp-uglify\node_modules\vinyl-sourcemaps-apply\node_modules\source-map\lib\source-map\source-map-consumer.js:415:13)
at SourceMapGenerator.<anonymous> (Z:\Dev\financial-app\src\App\node_modules\gulp-uglify\node_modules\vinyl-sourcemaps-apply\node_modules\source-map\lib\source-map\source-map-generator.js:233:42)
at Array.forEach (native)
这只发生在使用gulp-sourcemaps
. 当我删除管道中的源映射生成调用时,问题不会发生,但是我也没有任何源映射。
return merge(
// TS compile
gulp.src(filePath.appjs.src.ts)
.pipe(sourcemaps.init())
.pipe(ts(tsProject))
.pipe(sourcemaps.write()),
// JS compile
gulp.src(filePath.appjs.src.js)
)
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(concat('appscripts.js'))
.pipe(size({ title: 'APPJS' }))
.pipe(sourcemaps.write())
.pipe(gulp.dest(filePath.appjs.dest))
//.pipe(uglify(filePath.uglifyOptions))
.pipe(concat('appscripts.min.js'))
.pipe(size({ title: 'APPJS minified' }))
.pipe(gulp.dest(filePath.appjs.dest));
知道打字稿可能有用,./js/ts/
而 javascript 位于./js/App
.