2016-07-25 6 views
2

Ich kann nicht verstehen, wo meine ts und scss-Dateien zu platzieren sind? wwwroot-Ordner ist für statische Dateien, aber ts und scss-Dateien sind kompiliert. Sollte ich eine ähnliche Ordnerstruktur in wwwroot und außerhalb davon haben und dann css und js Dateien nach wwwroot kopieren?asp.net Kern, eckig2: sollte der wwwroot-Ordner Scss- und Typoskript-Dateien enthalten?

Zum Beispiel: enter image description here

Wäre es nicht zu kompliziert sein? Es scheint sehr schwierig zu sein, zu pflegen und zu navigieren.

enter image description here

+1

Verwenden Sie eckig-cli tun eine Prod-Build, kopieren Sie den Inhalt des Dist-Ordner in wwwroot und Sie sind gut zu gehen. – Siraj

+1

Wenn Sie ein eigenes Build-System verwenden, sollte sich in diesem System ein Ordner dist/output befinden. Sie müssen das kopieren. Angular benötigt keine ts- und scss-Dateien – Siraj

+0

Ja, ich stimme zu. Es ist nur in jedem Tutorial, das ich vorher gesehen habe. Installieren Sie angular2 mit Bower und kopieren Sie dann die Bibliothek in den lib-Ordner. Ich denke, ich sollte diese Frage tiefer entdecken. Vielen Dank. – shkiper

Antwort

2

Sollte ich ähnliche Ordnerstruktur in wwwroot halten und außerhalb und kopieren Sie CSS und JS-Dateien in wwwroot? [sic]

Ja. Das ist eine gute Idee.

Sobald Sie einen Griff haben, machen Sie kompliziertere Aufgaben wie Bündelung und Minification.

Ihre Frage hat viele, viele mögliche Antworten. Das heißt, Ihre Screenshots eine gulpfile.js zeigen und Sie gulp verwenden können folgendes zu tun:

  1. bauen Sie Ihre Typoskript und setzen Sie den *.js Ausgabe in wwwroot.
  2. bauen Sie Ihre SCSS und setzen Sie die *.css Ausgabe in wwwroot.

Hier sind einige Ressourcen für den Einstieg.

Hier ist ein Beispiel gulpfile.js für Sie auf der Grundlage Ihrer spezifischen Anforderungen zu modifizieren.

'use strict'; 

var gulp = require('gulp'); 
var tsb = require('gulp-tsb'); 
var sass = require('gulp-sass'); 

// create and keep compiler 
var compilation = tsb.create({ 
    target: 'es5' 
}); 

gulp.task('tsc', function() { 
    return gulp.src('./scripts/**/*.ts') 
     .pipe(compilation()) // <- new compilation 
     .pipe(gulp.dest('./wwwroot/appScripts')); 
}); 

gulp.task('sass', function() { 
    return gulp.src('./sass/**/*.scss') 
    .pipe(sass().on('error', sass.logError)) 
    .pipe(gulp.dest('./wwwroot/css')); 
}); 

Sie müssen ein gewisses Verständnis für npm und gulp haben. Im Grunde werden Sie von der Befehlszeile die folgenden Schluckaufgaben ausführen.

gulp tsc  // to build typescript 
gulp sass // to build sass 

Sie werden Ihre *.ts und *.scss Dateien finden, bauen sie und wirft sie in die angegebenen Ziele speichern.

+0

Danke für die Antwort. Ich habe versucht, beide Schluck und Npm zu verwenden. Es ist in Ordnung, ich habe keine Fragen dazu. Es geht nur um identische Ordnerstrukturen. Bitte, siehe Update der Frage. – shkiper

+1

Sehen Sie sich https: // github an.com/sirajc/angular2-starter - Es verwendet Schluck, Ts und Sass - Dies wird Ihnen helfen, mit dem zu beginnen, was Sie erreichen möchten – Siraj

+0

@shkiper Die Frage, wie Sie Ihre Ordnerstruktur einrichten ist wirklich subjektiv. Siraj bietet einen guten Vorschlag: Sehen Sie sich kanonische Samples an und emulieren Sie dann einen, den Sie mögen. –

Verwandte Themen