2016-09-15 12 views
1

すべてのrcがリリースされた後、Angular 2.0.0、9/14/16のリリースでロードするアプリがあります。 Googleチームから公式のMDリリースであるAngular Material2を追加しようとしています。 Getting Startedサイトからコードをコピー/貼り付けていますが、私は既にアプリの初めを構築しているので、Atomを使用していてAngular-Cliは使用していません。 Atom-typescriptはすべてを見つけ、エラーがないと言います。しかし、多くの試行錯誤にもかかわらず、変更されたアプリが読み込まれないと、これらのコンソールエラーが繰り返し表示されます。角度素材2.0は角度2.0.0のアプリでは機能しません

zone.js:1263 GET http://localhost:3000/node_modules/@angular2-material/button/ 404(見つかりません)scheduleTask @ zone.js:1263

家:27エラー:(SystemJS)XHRエラー(404が見つかりません)ロードhttp://localhost:3000/node_modules/@angular2-material/button(...)

zone.js:1263 GET http://localhost:3000/node_modules/@angular2-material/list/ 404(見つからない)

私は上記のnode_modulesファイルを見て、それらは自分のコードに存在しています。

入門指示に従って

、関連するコードは次のとおりです。

app.module.ts

import { MdButtonModule } from '@angular2-material/button'; 
import { MdListModule } from '@angular2-material/list'; 
@NgModule({ 
    imports:  [ BrowserModule, 
        FormsModule, 
        MdButtonModule, 
        MdListModule, 
        routing 
    ], 

systemjs.config.js

var map = { 
'@angular2-material':     'node_modules/@angular2-material', 
'@angular2-material/core':     'node_modules/@angular2-material/core/core', 
'@angular2-material/list':     'node_modules/@angular2-material/list', 
'@angular2-material/button':     'node_modules/@angular2-material/button' 
}; 
var packages = { 
'app':      { main: 'main.js', defaultExtension: 'js' }, 
'rxjs':      { defaultExtension: 'js' }, 
'angular2-in-memory-web-api': { main: 'index.js', defaultExtension: 'js' }, 
}; 
function packIndex(pkgName) { 
packages['@angular/'+pkgName] = { main: 'index.js', defaultExtension: 'js' }; 
} 
function packUmd(pkgName) { 
packages['@angular/'+pkgName] = { main: 'bundles/' + pkgName + '.umd.js', defaultExtension: 'js' }; 
} 
var setPackageConfig = System.packageWithIndex ? packIndex : packUmd; 
ngPackageNames.forEach(setPackageConfig); 

HTMLページには、カップルを持っているMD- list、md-list-item、およびmd-buttonタグがあります。

変更する必要はありますか?

+0

https://github.com/angular/material2/ blob/master/src/demo-app/system-config.ts – yurzui

+0

http://stackoverflow.com/questions/39459721/angular2-angular2-material-error-xhr-error-404-not-found-loading-http- l/39462481#39462481 – yurzui

+1

https://medium.com/codingthesmartway-com-blog/using-material-design-in-angular-2-83a3128c58b7#.q8t2re7z6 – yurzui

答えて

2

Angular2(最終)、Angular2-Material 2.0.0-alpha.8-2、TypeScript 2.0.0で、今朝(9/16)に作業を開始できました。下のpackage.jsonにあるように、現在入手可能なAngular2 Materialコンポーネントの大部分はthis videoの指示に従ってインストール(実行)されています。

私のsystem.config.tsを投稿すると、トラブルシューティングに役立つことが期待できます。私のpackage.jsonの

/** 
* System configuration for Angular 2 samples 
* Adjust as necessary for your application needs. 
*/ 
(function (global) { 
    System.config({ 
    paths: { 
     // paths serve as alias 
     'npm:': 'node_modules/' 
    }, 
    // map tells the System loader where to look for things 
    map: { 
     // our app is within the app folder 
     app: 'app', 
     // angular bundles 
     '@angular/core': 'npm:@angular/core/bundles/core.umd.js', 
     '@angular/common': 'npm:@angular/common/bundles/common.umd.js', 
     '@angular/compiler': 'npm:@angular/compiler/bundles/compiler.umd.js', 
     '@angular/platform-browser': 'npm:@angular/platform-browser/bundles/platform-browser.umd.js', 
     '@angular/platform-browser-dynamic': 'npm:@angular/platform-browser-dynamic/bundles/platform-browser-dynamic.umd.js', 
     '@angular/http': 'npm:@angular/http/bundles/http.umd.js', 
     '@angular/router': 'npm:@angular/router/bundles/router.umd.js', 
     '@angular/forms': 'npm:@angular/forms/bundles/forms.umd.js', 

     // other libraries 
     'rxjs':      'npm:rxjs', 
     'angular2-in-memory-web-api': 'npm:angular2-in-memory-web-api', 

     // Angular2-Material 
     '@angular2-material/core': 'npm:@angular2-material/core/core.umd.js', 
     '@angular2-material/button': 'npm:@angular2-material/button/button.umd.js', 
     '@angular2-material/card': 'npm:@angular2-material/card/card.umd.js', 
     '@angular2-material/checkbox': 'npm:@angular2-material/checkbox/checkbox.umd.js', 
     '@angular2-material/grid-list': 'npm:@angular2-material/grid-list/grid-list.umd.js', 
     '@angular2-material/icon': 'npm:@angular2-material/icon/icon.umd.js', 
     '@angular2-material/input': 'npm:@angular2-material/input/input.umd.js', 
     '@angular2-material/list': 'npm:@angular2-material/list/list.umd.js', 
     '@angular2-material/radio': 'npm:@angular2-material/radio/radio.umd.js', 
     '@angular2-material/sidenav': 'npm:@angular2-material/sidenav/sidenav.umd.js', 
     '@angular2-material/toolbar': 'npm:@angular2-material/toolbar/toolbar.umd.js', 
    }, 
    // packages tells the System loader how to load when no filename and/or no extension 
    packages: { 
     app: { 
     main: './main.js', 
     defaultExtension: 'js' 
     }, 
     rxjs: { 
     defaultExtension: 'js' 
     }, 
     'angular2-in-memory-web-api': { 
     main: './index.js', 
     defaultExtension: 'js' 
     } 
    } 
    }); 
})(this); 

関連部分:バージョン2.0.0へ

 ... 
     "dependencies": { 
     "@angular/common": "~2.0.0", 
     "@angular/compiler": "~2.0.0", 
     "@angular/core": "~2.0.0", 
     "@angular/forms": "~2.0.0", 
     "@angular/http": "~2.0.0", 
     "@angular/platform-browser": "~2.0.0", 
     "@angular/platform-browser-dynamic": "~2.0.0", 
     "@angular/router": "~3.0.0", 
     "@angular/upgrade": "~2.0.0", 
     "@angular2-material/button": "^2.0.0-alpha.8-2", 
     "@angular2-material/card": "^2.0.0-alpha.8-2", 
     "@angular2-material/checkbox": "^2.0.0-alpha.8-2", 
     "@angular2-material/core": "^2.0.0-alpha.8-2", 
     "@angular2-material/grid-list": "^2.0.0-alpha.8-2", 
     "@angular2-material/icon": "^2.0.0-alpha.8-2", 
     "@angular2-material/input": "^2.0.0-alpha.8-2", 
     "@angular2-material/list": "^2.0.0-alpha.8-2", 
     "@angular2-material/radio": "^2.0.0-alpha.8-2", 
     "@angular2-material/sidenav": "^2.0.0-alpha.8-2", 
     "@angular2-material/toolbar": "^2.0.0-alpha.8-2", 
     "angular2-in-memory-web-api": "~0.0.19", 
     "core-js": "^2.4.1", 
     "hammerjs": "^2.0.8", 
     "reflect-metadata": "^0.1.3", 
     "rxjs": "~5.0.0-beta.12", 
     "systemjs": "~0.19.27", 
     "zone.js": "^0.6.21" 
     }, 
     "devDependencies": { 
     "concurrently": "^2.2.0", 
     "lite-server": "^2.2.2", 
     "typescript": "^2.0.0", 
     "typings": "^1.3.2" 
     } 
     ... 

更新typescriptです。

また、hammerjs(タッチジェスチャーサポート)のタイピングを登録しなければなりませんでしたが、MdIconModuleを使用している場合にのみ必要です。角度資料2のリリース2.0.0-alpha.9上の重大な変更で

+1

はい、system.configファイルが有用で、ビデオリンクは次のラウンドのエラーを解決するために不可欠でした。しかし、今はロードされます。ありがとう。 –

1

、あなたは単にsystemjs.config.ts

'@angular/material': 'npm:@angular/material/material.umd.js', 

でパッケージをこの1行をマッピングすることができます。JSONもして簡単になる:

"@angular/material": "^2.0.0-alpha.9-3" 

そしてmaterial2 releaseからNgModule

import { MaterialModule } from '@angular/material'; 
@NgModule({ 
    ... 
    imports: [MaterialModule.forRoot()], 
    ... 
}) 

をインポートすることを忘れないでください:

Angular Material has changed from @angular2-material/... packages to a single package under @angular/material. Along with this change, there is a new NgModule, MaterialModule, that contains all of the components. ...

関連する問題