2017-03-04 4 views
2

Ich versuche zu erstellen und .NET-Kern-Anwendung mit Angular2. Ich erhalte die folgenden Fehlergulp-tsc src Ordner nicht gefunden

/wwwroot/NodeLib/gulp-tsc/src/compiler.ts' not found. 

ich kann nicht herausfinden, was ich bin fehle.

tsconfig.json

{ 
    "compileOnSave": true, 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": true, 
    "outDir": "../wwwroot/app", 
    "types": [] 
    }, 
    "exclude": [ 
    "node_modules", 
    "wwwroot" 
    ] 
} 

package.json

{ 
    "name": "angular2withvs2015", 
    "version": "1.0.0", 
    "dependencies": { 
    "@angular/common": "~2.1.1", 
    "@angular/compiler": "~2.1.1", 
    "@angular/core": "~2.1.1", 
    "@angular/forms": "~2.1.1", 
    "@angular/http": "~2.1.1", 
    "@angular/platform-browser": "~2.1.1", 
    "@angular/platform-browser-dynamic": "~2.1.1", 
    "@angular/router": "~3.1.1", 
    "@angular/upgrade": "~2.1.1", 
    "bootstrap": "3.3.7", 
    "core-js": "^2.4.1", 
    "reflect-metadata": "^0.1.8", 
    "rxjs": "5.0.0-beta.12", 
    "systemjs": "0.19.39", 
    "zone.js": "^0.6.25" 
    }, 
    "devDependencies": { 
    "gulp": "3.9.1", 
    "rimraf": "^2.5.4", 
    "gulp-typescript": "^3.1.2", 
    "typescript": "^2.0.7", 
    "gulp-tsc": "^1.2.5", 
    "@types/node": "6.0.40" 
    } 
} 

Gulp.js

var ts = require('gulp-typescript'); 

var gulp = require('gulp'), 
rimraf = require('rimraf'); 

gulp.task('clean', function (cb) { 
    return rimraf('./wwwroot/NodeLib/', cb) 
}); 

gulp.task('copy:lib', function() { 
    return gulp.src('node_modules/**/*') 
     .pipe(gulp.dest('./wwwroot/NodeLib/')); 
}); 

gulp.task('copy:systemjs', function() { 
    return gulp.src('Scripts/systemjs.config.js') 
     .pipe(gulp.dest('./wwwroot/')); 
}); 
var tsProject = ts.createProject('Scripts/tsconfig.json', { 
    typescript: require('typescript') 
}); 
gulp.task('ts', function() { 
    var tsResult = gulp.src("Scripts/**/*.ts") // instead of gulp.src(...) 
     .pipe(tsProject()); 

    return tsResult.js.pipe(gulp.dest('./wwwroot')); 
}); 


gulp.task('watch', ['watch.ts']); 
gulp.task('watch.ts', ['ts'], function() { 
    return gulp.watch('Scripts/**/*.ts', ['ts']); 
}); 

gulp.task('default', ['watch']); 

Antwort

0

Das Problem wird verursacht durch \ node_modules \ schluck-tsc \ tsconfig.json

"files": [ 
    "src/compiler.ts", 
    "src/shellescape.ts", 
    "src/tsc.ts" 
    ] 

Wenn Sie schlucken Aufgabe Kopie ausführen: lib, Inhalt node_modules wird kopiert /wwwroot/NodeLib/

Nach meinem Verständnis ist der gesamte Inhalt nicht erforderlich. In meinem Fall wollte ich nur den Inhalt in @angular. Also, ich einen neuen Schluck Aufgabe erstellt,

gulp.task('copy:[email protected]', function() { 
    return gulp.src('node_modules/@angular/**/*') 
     .pipe(gulp.dest('./wwwroot/NodeLib/@angular/')); 
}); 

Dann löschte ich NodeLib Ordner in wwwroot und ausgeführt Kopie: lib @ Winkel schluck Aufgabe. Es erstellt neue NodeLib Ordner, die nur @angular Ordner enthält. Dies löste das Kompilierungsfehlerproblem von Visual Studio.

+0

Danke, lassen Sie mich einen Blick darauf werfen – R4nc1d

0

gulp-tsc schien nicht gut zu sein von 1.2. * Bis 1.3. * Ich bin mir nicht sicher, was der Hauptbeitragende dort zu tun versucht, aber 1.3.2 funktioniert noch nicht für VS2015. IMHO Sie haben 2 Möglichkeiten:

  1. Arbeit mit großen Schluck-tsc von git und kopieren verwiesen src Verzeichnis NodeLib/oder entfernen tsconfig.jason von dort. In beiden Fällen werden Sie sicherlich andere Abhängigkeiten für saubere VS-Builds gebrochen haben.

  2. Sie müssen nicht nur @angular in NodeLib kopieren, wie von Laksiri Fernando richtig vorgeschlagen, sondern auch jedes Paket, auf das in Ihrer Datei systemjs.config.js verwiesen wird, sowie auf Dinge, auf die Sie im Tag _Layout.cshtml verweisen.

Verwandte Themen