首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gulp不使用主文件创建JS和CSS文件。

Gulp不使用主文件创建JS和CSS文件。
EN

Stack Overflow用户
提问于 2016-06-25 06:00:34
回答 2查看 2.1K关注 0票数 1

我正在使用Gulp连接/缩小来自bower文件夹(使用主-bower-文件)和src文件夹的所有JS/CSS文件。我使用gulp插件从package.json加载以下依赖项(所有这些依赖项都存在于node_modules中):

代码语言:javascript
复制
"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:

代码语言:javascript
复制
// 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文件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-06-28 06:44:52

最终,问题缩小到吞咽过滤不返回任何文件。对于任何尝试类似设置的人,通过使用mainBowerFiles过滤达到相同最终结果的文件,我最终会采取一种稍微不同的路径:

代码语言:javascript
复制
// 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']);
票数 1
EN

Stack Overflow用户

发布于 2017-04-09 13:43:54

我也遇到了同样的问题,结果发现“吞咽过滤器”不起作用,因为这句话:

代码语言:javascript
复制
.pipe(plugins.filter('*.js'))

它应包括以下内容:

代码语言:javascript
复制
.pipe(plugins.filter('**/*.js'))

同样的情况也应该发生在CSS中,而且它工作得很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38025491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档