问题描述
当我尝试通过Sublime Text观看GULP中的任务列表时,出现此消息。此代码必须最小化css和js文件。通常,我们通常使用这种js gulp文件来缩小此文件,但是代码在其他计算机上不起作用。
该错误在sublime-gulp.log中表示:
fs.js:153
throw new ERR_INVALID_CALLBACK(cb);
^
TypeError [ERR_INVALID_CALLBACK]: Callback must be a function. Received undefined
at makeCallback (fs.js:153:11)
at Object.unlink (fs.js:1125:14)
at requireGulp (C:\Users\sopor\AppData\Roaming\Sublime Text 3\Packages\Gulp\write_tasks_to_cache.js:30:12)
at Object.<anonymous> (C:\Users\sopor\AppData\Roaming\Sublime Text 3\Packages\Gulp\write_tasks_to_cache.js:83:12)
at Module._compile (internal/modules/cjs/loader.js:1137:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1157:10)
at Module.load (internal/modules/cjs/loader.js:985:32)
at Function.Module._load (internal/modules/cjs/loader.js:878:14)
at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:71:12)
at internal/main/run_main_module.js:17:47 {
code: 'ERR_INVALID_CALLBACK'
}
这是我的代码:
require('events').EventEmitter.defaultMaxListeners = 20;
var gulp = require('gulp');
var concat = require('gulp-concat');
var uglify = require('gulp-uglify');
var minify = require('gulp-minify-css');
var penthouse = require('penthouse');
var fs = require('fs');
gulp.task("load1",function() {
return gulp.src(["images/assets/js/load1.js"]).pipe(concat("load1.min.js")).pipe(uglify()).pipe(gulp.dest("images/assets/js/min/"))
}),gulp.task("scripts1",function() {
return gulp.src(["images/assets/vendor/jquery/jquery.min.js","images/assets/vendor/jquery-ui/jquery-ui.min.js","images/assets/vendor/bootstrap/dist/js/bootstrap.min.js","images/assets/js/jquery.validationEngine.js","images/assets/js/jquery.validationEngine-es.js","images/assets/js/inicio.js"]).pipe(concat("scripts1.min.js")).pipe(uglify()).pipe(gulp.dest("images/assets/js/min/"))
}),gulp.task("scripts2","images/assets/js/tpvadyen.js"]).pipe(concat("scripts2.min.js")).pipe(uglify()).pipe(gulp.dest("images/assets/js/min/"))
}),gulp.task("scripts3","images/assets/js/jquery.validationEngine-es.js"]).pipe(concat("scripts3.min.js")).pipe(uglify()).pipe(gulp.dest("images/assets/js/min/"))
}),gulp.task("scripts5","images/assets/js/lib.tpv2.js"]).pipe(concat("scripts5.min.js")).pipe(uglify()).pipe(gulp.dest("images/assets/js/min/"))
}),gulp.task("css",function() {
return gulp.src(["images/assets/vendor/bootstrap/dist/css/bootstrap.min.css","images/assets/vendor/owl-carousel/owl-carousel/owl.carousel.css","images/assets/vendor/slick-carousel/slick/slick.css","images/assets/vendor/animate.css/animate.min.css","images/assets/css/main.css","images/assets/css/jquery.rating.css"]).pipe(concat("styles.min.css")).pipe(minify({
keepSpecialComments: 0
})).pipe(gulp.dest("images/assets/css/min/"))
}),gulp.task("cssfp",function() {
return gulp.src(["images/assets/css/fp.css"]).pipe(concat("fp.min.css")).pipe(minify()).pipe(gulp.dest("images/assets/css/min/"))
}),gulp.task("criticalCSSfp",function() {
penthouse({
url: "https://www.pymescomercial.com/formas-de-pago",css: "images/assets/css/min/styles.min.css",width: 1280,height: 1280,userAgent: "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)",timeout: 1e5
},function(s,e) {
s && console.log(s),require("fs").writeFile("application/views/inline/in_formas-de-pago.css",e)
})
}),gulp.task("criticalCSSall",function() {
criticalPages.map(function(i) {
penthouse({
url: i.url,width: 1300,height: 900,keepLargerMediaQueries: !1,userAgent: "Penthouse Critical Path CSS Generator",timeout: 6e5,propertiesToRemove: ["(.*)transition(.*)","cursor","pointer-events","(-webkit-)?tap-highlight-color","(.*)user-select"],puppeteer: {
getBrowser: void 0
}
},e) {
s && console.log(s),fs.writeFileSync("application/views/inline/" + i.name + ".css",e)
})
})
});
解决方法
问题出在node_modules目录中。我试图在项目目录中重新安装,而gulp正常运行。
谢谢大家!