#javascript #node.js #sass #gulp
#javascript #node.js #sass #gulp
Вопрос:
У меня есть веб-приложение, которое я разрабатываю с использованием AngularJS, D3, Pixi.js , и gulp как система сборки. Все это отлично работает вместе, за исключением gulp-sass
. Вот соответствующий код:
gulp.task('sass-dev', ['clean-dev'], function() {
return gulp.src( cfg.appFiles.rootSass )
.pipe( sass({ errLogToConsole: true }))
.pipe( gulp.dest( cfg.buildDir cfg.destDirs.css ) )
.pipe( livereload( server ) );
});
cfg
это просто переменная с предопределенными глобусами. Если я сделаю третью строку
.pipe( sass({ errLogToConsole: true, sourceComments: 'map' }))
добавляя сопоставление источника (полезно для отладки), я получаю следующую фатальную ошибку.
Assertion failed: (val->IsString()), function _NanGetExternalParts, file ../node_modules/nan/nan.h, line 1725.
Abort trap: 6
На компьютере моего коллеги он отлично работает с отображением или без него. В моем случае он терпит неудачу каждый раз, когда сопоставляются исходные комментарии, и отлично работает без сопоставления. На обоих компьютерах установлены iMac с последней версией node
( npm
), bower
, и OS X
.
Есть идеи, что может быть причиной этого? Проблема в gulp
или gulp-sass
сама по себе?
Комментарии:
1. Какая версия Sass используется в обеих системах?
2. @cimmanon Мы используем gulp-sass 0.7.1
3. Во-первых: пожалуйста, прочитайте документы: https://github.com/sass/node-sass . Второе: вам нужен параметр файла.
4. Файлы — это то, что передается в команду sass. И я прочитал документы. Пожалуйста, смотрите github.com/dlmanning/gulp-sass поскольку мы используем gulp в качестве системы сборки. Пример из их документов:
var gulp = require('gulp'); var sass = require('gulp-sass') gulp.task('sass', function () { gulp.src('./scss/*.scss').pipe(sass()).pipe(gulp.dest('./css')); });
5. У меня точно такая же проблема — за исключением ubuntu. У кого-нибудь уже есть решение или обходной путь?
Ответ №1:
Эти параметры сработали для меня.
{ errLogToConsole: true, sourceComments: 'map', sourceMap: 'sass' }.
Всегда кажется, что происходит что-то странное.
Комментарии:
1. Вы правы. Как только я добавил комментарий к sourceMap, он сработал, казалось бы, без причины. Ну что ж!
2. Я получаю ошибку сегментации (сброс ядра) в Ubuntu, используя эти параметры, есть идеи, почему?
3. Понятия не имею. Нет Ubuntu для проверки.
Ответ №2:
В моем случае причиной был пустой файл scss. Добавление комментария к файлу или удаление файла scss решило эту проблему