我正在尝试创建一个gulp任务来同时压缩和创建源映射.压缩和源映射创建工作,但我似乎无法弄清楚如何在使用gulp-rename
插件时正确获取输出名称.
为了简化:我source.js
在/src
文件夹中有一个文件,我想在文件夹中创建.min.js
和.js.map
文件/dist
.
这就是我所拥有的:
gulp.task('scripts', function () { // compressed gulp.src(['src/*.js']) .pipe(sourcemaps.init({ includeContent: false, sourceRoot: './' })) .pipe(uglify()) .pipe(sourcemaps.write('./', { sourceMappingURL: function(file) { return file.relative + '.map'; } })) .pipe(rename({ suffix: '.min' })) .pipe(gulp.dest('./dist')); });
这适用于它在以下方面创建以下内容/dist
:
jquery-resizable.min.js
(所有好的 - 压缩,地图参考和正确的名称)
jquery-resizable.js.min.map
(地图在那里,但名字不好 - 应该是jquery-resizable.js.map)
我已经尝试了大量的变化,但我无法弄清楚如何获得地图和压缩来构建并获得正确的文件名.
我也试过在一个单独的步骤中重命名文件,但由于gulp的异步性质,这不能可靠地工作 - 有时它有效它不会这样看起来也不是一个选项.
我错过了什么?
我没有以这种方式创建源图,但是这样做的正确方法是什么?我看到的所有示例似乎都按照上面的操作执行,除非它们不将输出文件重命名为min.js,这似乎是该过程的重要部分.