Javascript 将文件压缩到dest文件夹和src文件夹
我的gulpfile正在将编译好的css和js文件添加到dest(css/js)文件夹和src(scss/coffee)文件夹中 理想的结果是编译后的文件仅打印到dest文件夹中 只有在Windows而不是Mac上运行gulp时才会发生这种情况。此外,如果我在不使用手表的情况下运行任务,它会正确编译;'“gulp styles”仅将css文件编译到css文件夹-“gulp scripts”仅将js文件编译到js文件夹Javascript 将文件压缩到dest文件夹和src文件夹,javascript,gulp,gulp-watch,gulp-sass,Javascript,Gulp,Gulp Watch,Gulp Sass,我的gulpfile正在将编译好的css和js文件添加到dest(css/js)文件夹和src(scss/coffee)文件夹中 理想的结果是编译后的文件仅打印到dest文件夹中 只有在Windows而不是Mac上运行gulp时才会发生这种情况。此外,如果我在不使用手表的情况下运行任务,它会正确编译;'“gulp styles”仅将css文件编译到css文件夹-“gulp scripts”仅将js文件编译到js文件夹 var gulp = require('gulp'), plumber
var gulp = require('gulp'),
plumber = require('gulp-plumber'),
rename = require('gulp-rename'),
autoprefixer = require('gulp-autoprefixer'),
coffee = require('gulp-coffee'),
jshint = require('gulp-jshint'),
uglify = require('gulp-uglify'),
minifycss = require('gulp-minify-css'),
sass = require('gulp-sass');
gulp.task('styles', function () {
return gulp.src(['scss/**/*.scss'])
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
this.emit('end');
}
}))
.pipe(sass())
.pipe(autoprefixer('last 2 versions'))
.pipe(gulp.dest('css/'))
.pipe(rename({ suffix: '.min' }))
.pipe(minifycss())
.pipe(gulp.dest('css/'))
});
gulp.task('scripts', function () {
return gulp.src('coffee/**/*.coffee')
.pipe(plumber({
errorHandler: function (error) {
console.log(error.message);
this.emit('end');
}
}))
.pipe(coffee({ bare: true }))
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(gulp.dest('js/'))
.pipe(rename({ suffix: '.min' }))
.pipe(uglify())
.pipe(gulp.dest('js/'))
});
gulp.task('default', function () {
gulp.watch("scss/**/*.scss", ['styles']);
gulp.watch("coffee/**/*.coffee", ['scripts']);
});
这是因为您在缩小之前和缩小之后分别调用了两次
gulp.dest
。调用dest会在提供的路径上将文件写入磁盘
如果你只是想要缩小版本
用于Css
.pipe(autoprefixer('last 2 versions'))
.pipe(rename({ suffix: '.min' }))
.pipe(minifycss())
.pipe(gulp.dest('css/'))
pipe(jshint.reporter('default'))
.pipe(rename({ suffix: '.min' }))
.pipe(uglify())
.pipe(gulp.dest('js/'))
适用于Js
.pipe(autoprefixer('last 2 versions'))
.pipe(rename({ suffix: '.min' }))
.pipe(minifycss())
.pipe(gulp.dest('css/'))
pipe(jshint.reporter('default'))
.pipe(rename({ suffix: '.min' }))
.pipe(uglify())
.pipe(gulp.dest('js/'))
您可以尝试向目标路径添加
,以帮助保留源路径:
.pipe(gulp.dest('css/')) -> .pipe(gulp.dest('./css/'))
及
在本地,我试图在windows上复制此问题,但未能成功。我的
node\u modules
目录与coffee
和scss
文件夹位于同一目录中。您当前使用的Windows、npm和gulp版本是什么?另外,您是否可能使用gulp的全局版本?Windows 7-node(5.6.0)和npm(3.6.0)的最新版本-node_模块/coffee/scss折叠应该都在同一目录中,您是正确的。Gulp是在全球范围内安装的,因为如果您想运行Gulp,这是必要的-使用该版本意味着什么?(全局和项目级gulp是同一版本)。如果全局安装gulp(npm install-g gulp
,安装到/Users//AppData/Roaming/npm/node_modules
),则运行的版本可能与本地运行gulp不同(/node_modules
)。只是想找出与mac版本相比可能存在的版本差异。我理解你的意思,这就是我的意思,它们都是gulp(3.9.1)的同一版本。这并没有解决问题-它现在只是将单个文件复制到两个文件夹。您的dest文件夹路径是什么,您想将文件放在哪里?css/和js/.pipe(gulp.dest('js/')仍然不会影响在src路径中创建的版本。