任务“默认”不在您的 gulpfile 中
Posted
技术标签:
【中文标题】任务“默认”不在您的 gulpfile 中【英文标题】:Task "default" is not in your gulpfile 【发布时间】:2017-05-10 20:15:42 【问题描述】:我在控制台中运行 gulp 时收到此错误:
我的 gulpfile 看起来不错:
var gulp = require('gulp'),
LiveServer = require('gulp-live-server'),
browserSync = require('browser-sync');
gulp.task('live-server', function ()
var server = new LiveServer('server/main.js');
server.start();
);
gulp.task('serve', ['live-server'], function ()
browserSync.init(null,
proxy: "http://localhost:3000",
port: 9001
);
);
【问题讨论】:
【参考方案1】:请将此包含在您的 gulp 文件中。
gulp.task('default', ['serve']);
希望这可能会有所帮助。
【讨论】:
【参考方案2】:当您在控制台中运行gulp
时,它会查找要运行的默认任务。您只将 live-server
和 serve
定义为任务。
要解决定义一个默认任务,你可以像这样添加你真正想要运行的任务作为依赖:
gulp.task( 'default', [ 'serve' ] )
现在,如果您运行gulp
,它将运行default
任务,而后者又运行serve
任务。或者,您也可以运行 gulp serve
,它也可以正常工作。
【讨论】:
如果您的配置文件中有很多任务,则非常有用的插件是gulp-help,例如,当您键入普通的“gulp”时,它将作为您的助手,列出所有可用的命令。跨度> 【参考方案3】:创建一个默认任务并添加您希望默认运行的任务:
gulp.task("default", function ()
gulp.start("serve");
);
【讨论】:
【参考方案4】:我遇到了类似的问题,这是我的 gulp 文件
我没有使用“默认”任务,而是直接调用“服务”任务。
在 cmd -> gulp serve
通过直接调用服务,它会为我调用浏览器同步任务。
希望这对某人有帮助:)
【讨论】:
【参考方案5】:这是我以前的……
'use strict';
var gulp = require('gulp');
var concat = require('gulp-concat');
var cssmin = require('gulp-cssmin');
var uglify = require('gulp-uglify');
var merge = require('merge-stream');
var bundleConfig = require('./bundleconfig.json');
const REGEX =
css: /\.css$/,
js: /\.js$/
;
gulp.task('min:js', async function ()
merge(getBundles(REGEX.js).map(bundle =>
return gulp.src(bundle.inputFiles, base: '.' )
.pipe(concat(bundle.outputFileName))
.pipe(uglify())
.pipe(gulp.dest('.'));
))
);
gulp.task('min:css', async function ()
merge(getBundles(REGEX.css).map(bundle =>
return gulp.src(bundle.inputFiles, base: '.' )
.pipe(concat(bundle.outputFileName))
.pipe(cssmin())
.pipe(gulp.dest('.'));
))
);
const getBundles = (regexPattern) =>
return bundleConfig.filter(bundle =>
return regexPattern.test(bundle.outputFileName);
);
;
gulp.task('minify', gulp.series(['min:js', 'min:css']));
然后,实际上只需将最后一行更改为 'default' smh
'use strict';
var gulp = require('gulp');
var concat = require('gulp-concat');
var cssmin = require('gulp-cssmin');
var uglify = require('gulp-uglify');
var merge = require('merge-stream');
var bundleConfig = require('./bundleconfig.json');
const REGEX =
css: /\.css$/,
js: /\.js$/
;
gulp.task('min:js', async function ()
merge(getBundles(REGEX.js).map(bundle =>
return gulp.src(bundle.inputFiles, base: '.' )
.pipe(concat(bundle.outputFileName))
.pipe(uglify())
.pipe(gulp.dest('.'));
))
);
gulp.task('min:css', async function ()
merge(getBundles(REGEX.css).map(bundle =>
return gulp.src(bundle.inputFiles, base: '.' )
.pipe(concat(bundle.outputFileName))
.pipe(cssmin())
.pipe(gulp.dest('.'));
))
);
const getBundles = (regexPattern) =>
return bundleConfig.filter(bundle =>
return regexPattern.test(bundle.outputFileName);
);
;
gulp.task('default', gulp.series(['min:js', 'min:css']));
【讨论】:
以上是关于任务“默认”不在您的 gulpfile 中的主要内容,如果未能解决你的问题,请参考以下文章
gulp-tslint 不在控制台上打印 linting 错误
javascript Gulp 4 - 具有外部配置的多文件任务。使用gulp-load-plugins的基本gulpfile模板,用于多个任务文件