Gulp: Object #<Object> не имеет метода if
Я клонировал репо с работающим gulpfile.js, и теперь при запуске gulf на клонированном репо я получил ошибку
Object #<Object> has no method 'if'
Неприятный код задачи: gulp.task('html', ['styles'], function () {
return gulp.src('app/*.html')
.pipe($.useref.assets({searchPath: '{.tmp,app}'}))
.pipe($.if('*.css', $.csso()))
.pipe($.useref.restore())
.pipe($.useref())
.pipe(gulp.dest('dist'));
});
Я установил gulp-if и gulp-csso. $ is
var $ = require('gulp-load-plugins')();
Все еще учусь глотать. Не уверен, куда идти отсюда.
1 ответ
В package.jsongulp-if не был указан в списке devDependencies.
"devDependencies": {
.
.
.
"gulp-if": "^1.2.5",
В том числе это устранило ошибку.
Всякий раз, когда вы устанавливаете зависимость для разработки, я должен прикрепить --save-dev, чтобы пакет автоматически помещался в package.json, и тогда любое клонирование автоматически получит все пакеты в package.json, выполнив команду npm install.
npm install <package> --save-dev