簡體   English   中英

Gulp不使用main-bower-files創建JS和CSS文件

[英]Gulp not creating JS and CSS files using main-bower-files

我正在使用Gulp連接/縮小Bower文件夾(使用main-bower-files)和src文件夾中的所有JS / CSS文件。 我正在使用gulp-load-plugins從package.json加載以下依賴項(所有依賴項都存在於node_modules中):

"dependencies": {
    "gulp": "^3.9.1",
    "gulp-concat": "^2.6.0",
    "gulp-filter": "^4.0.0",
    "gulp-load-plugins": "^1.2.4",
    "gulp-rename": "^1.2.2",
    "gulp-uglify": "^1.5.3",
    "main-bower-files": "^2.13.1"
}

這是gulpfile.js:

// Include Gulp
var gulp = require('gulp');

var src = 'src/';
var dest = 'public/';

// Include plugins
var plugins = require("gulp-load-plugins")({
    pattern: ['gulp-*', 'gulp.*', 'main-bower-files'],
    replaceString: /\bgulp[\-.]/
});

//Concat + Minify JS
gulp.task('js', function() {

var jsFiles = ['/src/js/*'];

gulp.src(plugins.mainBowerFiles().concat(jsFiles))
    .pipe(plugins.filter('*.js'))
    .pipe(plugins.concat('main.js'))
    .pipe(plugins.uglify())
    .pipe(gulp.dest('public/js'));

});
//Concat + Minify CSS
gulp.task('css', function() {

var cssFiles = ['src/css/*'];

gulp.src(plugins.mainBowerFiles().concat(cssFiles))
    .pipe(plugins.filter('*.css'))
    .pipe(plugins.concat('main.min.css'))
    .pipe(plugins.uglify())
    .pipe(gulp.dest(dest + 'css'));

});

// Default Task
gulp.task('default', ['js','css']);

Gulp在控制台中未提供任何錯誤,但未創建JS文件或CSS文件。

最終,問題縮小到gulp-filter不返回任何文件。 對於嘗試進行類似設置的任何人,我最終都會使用mainBowerFiles來篩選出達到相同最終結果的文件,從而走了一條稍許替代的路徑:

// Include Gulp
var gulp = require('gulp');

// Include plugins
var plugins = require("gulp-load-plugins")({
    pattern: ['gulp-*', 'gulp.*', 'main-bower-files'],
    replaceString: /\bgulp[\-.]/
});


var src = 'src/';
var dest = 'public/';


//Concat + Minify JS
gulp.task('test', function() {

console.log(plugins);

});


//Concat + Minify JS
gulp.task('js', function() {

var jsFiles = ['src/js/*'];

gulp.src(plugins.mainBowerFiles('**/*.js').concat(jsFiles))
    .pipe(plugins.concat('main.min.js'))
    .pipe(plugins.uglify())
    .pipe(gulp.dest(dest + 'js'));

});

gulp.task('css', function() {

    var cssFiles = ['src/css/*'];

    gulp.src(plugins.mainBowerFiles('**/*.css', {
        overrides: {
            bootstrap: {
                main: [
                    './dist/css/bootstrap.min.css'
                ]
            }
        }
    }).concat(cssFiles))
    .pipe(plugins.concat('main.min.css'))
    .pipe(plugins.cleanCss())
    .pipe(gulp.dest(dest + 'css'));

});


// Default Task
gulp.task('default', ['js','css']);

我遇到了完全相同的問題,結果由於該行,“ gulp-filter”無法正常工作:

.pipe(plugins.filter('*.js'))

應該是以下內容:

.pipe(plugins.filter('**/*.js'))

CSS也應該發生同樣的事情,並且效果很好。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM