2016-04-26 10 views
0

Unter gulp Umbenennen Aufgabe funktioniert gut für angularjs2 ts Dateien mit einem Punkt, wie appcomponent.ts. Wenn der Dateiname jedoch zwei Punkte wie login.service.ts hat, ist gulp extname verwirrt und nimmt alles nach dem ersten Punkt als Erweiterung. Irgendeine Idee, wie extname die Erweiterung kennt, ist nach dem letzten Punkt?schluck extname auf Angularjs2 Dateien mit zwei Punkten

gulp.task('ts', function() { 
    return gulp.src('src/**/*.ts') 
    .pipe(rename({ 
     extname: '' 
    })) 
    .pipe(traceur({ 
     modules: 'instantiate', 
     moduleName: true, 
     annotations: true, 
     types: true, 
     memberVariables: true 
    })) 
    .pipe(rename({ 
     extname: '.js' 
    })) 
    .pipe(gulp.dest('build')); 
}); 
+0

Wenn diese Frage zu Angular2 gehört, sollte sie nicht das Tag [tag: angularjs] haben. –

Antwort

0

gulp-renametut nur die Verlängerung nach dem letzten Punkt ersetzen. Es nutzt path.extname() intern um die sich die documentation heißt es: ‚‘

Rückkehr der Verlängerung des Weges, von der letzten bis zum Ende der Zeichenfolge in dem letzten Teil des Weges

Ihr Problem sind diese drei Linien:

.pipe(rename({ 
    extname: '' 
})) 

Sie hier entfernen Sie die .ts Erweiterung, so, wenn Sie endlich zu rename({extname: '.js'} die Erweiterung der Datei erhalten ist eigentlich .service. Lass diese drei Zeilen fallen und deine Umbenennung funktioniert.

+0

Danke Sven. Es funktioniert gut. – Hammer

Verwandte Themen