Gulp-ruby-sass Ошибка:
Плагин gulp gulp-ruby-sass не работает при компиляции файлов sass.
"использовать строгое"; var path = require('path'); var gulp = require('gulp'); var conf = require('./conf'); var browserSync = require('browser-sync'); var $ = require('gulp-load-plugins')(); var wiredep = require('wiredep').stream; var _ = require('lodash'); gulp.task('styles-reload', ['styles'], function() { вернуть buildStyles() .pipe(browserSync.stream()); }); gulp.task('styles', function() { return buildStyles(); }); var buildStyles = function() { var sassOptions = { стиль: "расширенный" }; var injectFiles = gulp.src([ path.join(conf.paths.src, '/app/**/*.scss'), path.join('!' + conf.paths.src, '/app/index.scss') ], { read: false }); var injectOptions = { transform: function(filePath) { filePath = filePath.replace(conf.paths.src + '/app/', ''); return '@import "' + filePath + '";'; }, starttag: "// инжектор", endtag: '// endinjector', addRootSlash: false }; var cssFilter = $.filter('**/*.css', { restore: true }); возврат gulp.src([ path.join(conf.paths.src, '/app/index.scss') ]) .pipe($.inject(injectFiles, injectOptions)) .pipe(wiredep(_.extend({}, conf.wiredep))) .pipe($.rubySass(sassOptions)).on('error', conf.errorHandler('RubySass'))).pipe(cssFilter) .pipe($.sourcemaps.init({ loadMaps: true })) .pipe($.autoprefixer()).on('error', conf.errorHandler('Autoprefixer'))).pipe ($. sourcemaps.write ()).pipe (cssFilter.restore).pipe (gulp.dest (path.join (conf.paths.tmp, '/ serve / app /'))); };
TypeError: строка шаблона глобуса, необходимая для нового Minimatch (/home/john/sac_srvs/new_srvs/sachin/node_modules/gulp-ruby-sass/node_modules/glob/node_modules/minimatch/minimatch.js:108:11 / home) /john/sac_srvs/new_srvs/sachin/node_modules/gulp-ruby-sass/node_modules/glob/common.js:112:20) в новом GlobSync (/home/john/sac_srvs/new_srvs/sachin/node -moby g) sass/node_modules/glob/sync.js:38:3) в Function.globSync [как синхронизация] (/home/john/sac_srvs/new_srvs/sachin/node_modules/gulp-ruby-sass/node_modules/glob/sync.js:24:10) в /home/john/sac_srvs/new_srvs/sachin/node_modules/gulp-ruby-sass/index.js:68:21 в Array.forEach (родной) в Object.gulpRubySass (/home/john/sac_srvs/new_srvs/sachin/node_modules/gulp-ruby-sass/index.js:67:10) в buildStyles (/home/john/sac_srvs/new_srvs/sachin/gulp/styles.js:50:13) в Gulp.sassOptions.style (/home/john/sac_srvs/new_srvs/sachin/gulp/styles.js:20:10) в module.exports (/home/john/sac_srvs/new_srvs/sachin/node_modules/gulp/node_modules/orchestrator/lib/runTask.js:34:7) в Gulp.Orchestrator._runTask (/home/john/sac_srvs/new_srvs/sachin/node_modules/gulp/node_modules/orchestrator/index.js:273:rche) в Gulp.._runStep (/home/john/sac_srvs/new_srvs/sachin/node_modules/gulp/node_modules/orchestrator/index.js:214:10) в Gulp.Orchestrator.start (/home/john/sac_srvs/new_ss gulp/node_modules/orchestrator/index.js:134:8) в /usr/local/lib/node_modules/gulp/bin/gulp.js:129:20 в process._tickCallback (node.js:415:13) в функции.Module.runMain (module.js:499:11)
1 ответ
Решение
Это хитрый. Похоже, вы используете generator-gulp-angular
и выбрал ruby-sass
, К сожалению, API gulp-ruby-sass
изменился в сентябре (с выпуском 2.0.0) и с тех пор генератор не обновлялся. В двух словах: новому API нужны исходные файлы, переданные в метод фабрики потоков
.pipe($.rubySass([**SOURCE FILES HERE**], sassOptions)).on('error', conf.errorHandler('RubySass'))
что в принципе невозможно при объединении цепочки сборки с другими плагинами, такими как inject
или же wiredep
, Я рекомендую использовать node-sass
вместо этого - если у вас нет абсолютной необходимости ruby-sass
конечно.