2016-08-11 16 views
0

私はlaravel 5.2でAngular2を使用しようとしていますので、gulpをtypescriptファイルをコンパイルするように設定しようとしています。gulp elixir-typescriptがコンパイルに失敗しました

これは私のpackage.jsonファイルです:

{ 
    "private": true, 
    "scripts": { 
    "prod": "gulp --production", 
    "dev": "gulp watch" 
    }, 
    "devDependencies": { 
    "gulp": "^3.9.1", 
    "laravel-elixir": "^5.0.0", 
    "bootstrap-sass": "^3.0.0", 
    "@angular/common": "2.0.0-rc.5", 
    "@angular/compiler": "2.0.0-rc.5", 
    "@angular/core": "2.0.0-rc.5", 
    "@angular/forms": "0.3.0", 
    "@angular/http": "2.0.0-rc.5", 
    "@angular/platform-browser": "2.0.0-rc.5", 
    "@angular/platform-browser-dynamic": "2.0.0-rc.5", 
    "@angular/router": "3.0.0-rc.1", 
    "@angular/router-deprecated": "2.0.0-rc.2", 
    "@angular/upgrade": "2.0.0-rc.5", 
    "systemjs": "0.19.27", 
    "core-js": "^2.4.0", 
    "reflect-metadata": "^0.1.3", 
    "rxjs": "5.0.0-beta.6", 
    "zone.js": "^0.6.12" 
    }, 
    "dependencies": { 
    "elixir-typescript": "^2.0.0" 
    } 
} 

これは私のtsconfig.json(私はリソース/資産/ typescriptですに入れていること)である:

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": false 
    }, 
    "exclude": [ 
    "node_modules" 
    ] 
} 

と私は終わりに私gulpfile.js:

var elixir = require('laravel-elixir'); 
var elixirTypscript = require('elixir-typescript'); 

elixir(function(mix) { 
    mix.sass('app.scss'); 

    mix.typescript('main.ts', 'public/js/'); 

    mix.copy('node_modules/@angular', 'public/js/angular'); 
    mix.copy('node_modules/when/es6-shim', 'public/js/es6-shim'); 
    mix.copy('node_modules/es6-promise', 'public/js/es6-promise'); 
    mix.copy('node_modules/rxjs', 'public/js/rxjs'); 
    mix.copy('node_modules/systemjs', 'public/js/systemjs'); 
    mix.copy('node_modules/zone.js', 'public/js/zone.js'); 

}); 

私は、コンソールからの一口を起動すると、私のような、エラーの多くを得る:

/var/www/chat/laravel/node_modules/@angular/common/src/directives/ng_class.d.ts(81,34): error TS2304: Cannot find name 'Set'. 
[14:59:24] gulp-notify: [Laravel Elixir] TypeScript Compilation Failed!: /var/www/chat/laravel/node_modules/@angular/common/src/directives/ng_class.d.ts(81,34): error TS2304: Cannot find name 'Set'. 
{ [TypeScript error: /var/www/chat/laravel/node_modules/@angular/common/src/directives/ng_class.d.ts(81,34): error TS2304: Cannot find name 'Set'.] 
    name: 'TypeScript error', 
..... 

node_modulesのtypescriptのすべてをコンパイルしようとしているようです。私はtsconfig.jsonでフィールド "exclude"を使用しましたが、動作していないようです。

答えて

0

私は同じ問題を抱えていましたが、ここで解決しました。

https://github.com/axiskafi/angular2-laravel5

あなたのpackage.jsonと一息ファイルには、いくつかの変更を必要とします。与えられたリンクと指示に従えば、それはあなたの問題を解決します。

関連する問題