Kon*_*kus 63 javascript node.js browserify gulp
const gulp = require('gulp');
const $ = require('gulp-load-plugins')();
const source = require('vinyl-source-stream');
const browserify = require('browserify');
gulp.task('build', () =>
browserify('./src/app.js').bundle()
.pipe(source('app.js'))
.pipe(gulp.dest('./build')) // OK. app.js is saved.
.pipe($.rename('app.min.js'))
.pipe($.streamify($.uglify())
.pipe(gulp.dest('./build')) // Fail. app.min.js is not saved.
);
Run Code Online (Sandbox Code Playgroud)
当file.contents是流时,当前不支持管道到多个目标.这个问题的解决方法是什么?
Con*_*tra 34
目前,当使用file.contents作为流时,您必须为每个dest使用两个流.这可能会在将来修复.
var gulp = require('gulp');
var rename = require('gulp-rename');
var streamify = require('gulp-streamify');
var uglify = require('gulp-uglify');
var source = require('vinyl-source-stream');
var browserify = require('browserify');
var es = require('event-stream');
gulp.task('scripts', function () {
var normal = browserify('./src/index.js').bundle()
.pipe(source('bundle.js'))
.pipe(gulp.dest('./dist'));
var min = browserify('./src/index.js').bundle()
.pipe(rename('bundle.min.js'))
.pipe(streamify(uglify())
.pipe(gulp.dest('./dist'));
return es.concat(normal, min);
});
Run Code Online (Sandbox Code Playgroud)
编辑:这个错误现在修复了gulp.原帖中的代码应该可以正常工作.
Anm*_*raf 29
我遇到了类似的问题,并希望在lint,uglify和minify任务之后将gulp源复制到多个位置.我最终解决了这个,如下所示,
gulp.task('script', function() {
return gulp.src(jsFilesSrc)
// lint command
// uglify and minify commands
.pipe(concat('all.min.js'))
.pipe(gulp.dest('build/js')) // <- Destination to one location
.pipe(gulp.dest('../../target/build/js')) // <- Destination to another location
});
Run Code Online (Sandbox Code Playgroud)
小智 5
我认为这种方式更容易。只是你有两个目的地,但在 minify 插件之前,你将一个路径放在普通文件中,然后将 minify 插件放在你想要的 minify 文件的路径后面。
例如:
gulp.task('styles', function() {
return gulp.src('scss/main.scss')
.pipe(sass())
.pipe(gulp.dest('css')) // Dev normal CSS
.pipe(minifycss())
.pipe(gulp.dest('public_html/css')); // Live Minify CSS
});
Run Code Online (Sandbox Code Playgroud)
对于向多个目的地广播更新的情况,gulp.dest
在一组目的地上循环命令效果很好。
var gulp = require('gulp');
var source = './**/*';
var destinations = [
'../foo/dest1',
'../bar/dest2'
];
gulp.task('watch', function() {
gulp.watch(source, ['sync']);
});
gulp.task('sync', function (cb) {
var pipeLine = gulp.src(source);
destinations.forEach(function (d) {
pipeLine = pipeLine.pipe(gulp.dest(d));
});
return pipeLine;
});
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
38227 次 |
最近记录: |