2016-07-01 9 views
0

Ich habe vor kurzem npm das Knotenmodul react-calendar-timeline installiert.Gulp Fehler auf node_module, die scss hat

Nach der Implementierung einer meiner Komponenten, lief ich Schluck zu bauen.

Schluck warf einen Fehler:

events.js:141 
     throw er; // Unhandled 'error' event 
    ^
    SyntaxError: 
    /var/www/monitor/node_modules/react-calendar-timeline/modules/lib/Timeline.scss:1 
    $item-color: white; 
      ^
    ParseError: Unexpected token 

Meine gulpfile Datei für diese Komponente wie folgt aussieht:

var gulp = require('gulp'); 
var browserify = require('gulp-browserify'); 
var concat = require('gulp-concat'); 
var babel = require('gulp-babel'); 

gulp.task('browserify', function() { 
    gulp.src('js/ScheduleMain.js') 
     .pipe(browserify({transform:'babelify'})) 
     .pipe(concat('ScheduleMain.js')) 
     .pipe(gulp.dest('static/dist/js')); 

Es scheint, als ob ich bin nicht in der Lage, die .scss Datei des Moduls zu handhaben Ich habe installiert. Was ist der richtige Weg, damit umzugehen?

Antwort

1

Es könnte ein Problem sein, das sich mehr auf gulp-browserify als Ihr Build-Skript bezieht.

Denken Sie daran, dass gulp-browserify ist lange tot, in der Tat ist es mehr als ein Jahr seit der letzten Aktualisierung; dies ist aus, es ist npm page:

NOTE: THIS PLUGIN IS NO LONGER MAINTAINED , checkout the recipes by gulp team for reference on using browserify with gulp.

Browserify nativ unterstützt streming und mit nur einem Paar von Plug-ins können Sie diesen Stream Transform kompatibel zu schlucken, empfehle ich Ihnen einen Blick auf schluck der Beispiele Ordner zu nehmen, insbesondere auf diese example using browserify.

Übrigens, was ist der Punkt in der Ausführung gulp-concat wenn in Ihrem Stream nur eine Datei?

+0

@AssasinsMod Danke für die Antwort. Ich benutze gulp-browserify gerade gut für den Aufbau meiner anderen Dateien, aber warum bricht es bei der Verwendung eines Moduls, das scss verwendet? Ich habe einen Höhepunkt in dieser Datei und es sieht aus wie sein Webpack basiert. Ich würde es vorziehen, nicht alles in meinem Gulp-Build-Skript auf browserify über gulp-browserif zu setzen, wenn ich nicht müsste. Außerdem schätze ich den Beispiellink, aber wie würde dies mein Problem mit SCSS lösen? – ApathyBear

+1

@ApathyBear tut mir leid für die späte Antwort. Ich habe die Quelle dieses Projekts durchsucht und festgestellt, dass der Build der Distribution auch eine 'require ('Timeline.scss')' hat. Leider bedeutet dies, dass Sie entweder webpack zum Erstellen oder Ändern der Timeline-Projektquelle verwenden müssen. – AssassinsMod

+0

Hey @AssassinsMod, danke. Warum ist das Bauen mit dem Webpack die einzige Möglichkeit, mit scss zu arbeiten? Ich habe den Quellcode direkt geändert, um Timeline.scss nicht zu enthalten, und das funktioniert gut. – ApathyBear