Material 2 SystemJS ベースのプロジェクトがあります。
マテリアル 2 は次のようにインストールされます。
npm install --save @angular/material
次に、SystemJS 構成で配線されます。
...
'@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/material': 'npm:@angular/material/material.umd.js', <-- material 2
'@angular/http': 'npm:@angular/http/bundles/http.umd.js',
...
に設定されているアイコンを指定するindex.html
:
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/>
の設定MdIconRegistry
:
...
import { MaterialModule } from '@angular/material';
import { MdIconRegistry } from '@angular/material/icon';
@NgModule({
imports: [ BrowserModule, MaterialModule.forRoot() ],
declarations: [ AppComponent ],
providers: [ MdIconRegistry ],
bootstrap: [ AppComponent ],
schemas: [ CUSTOM_ELEMENTS_SCHEMA ]
})
export class AppModule {
constructor(mdIconRegistry: MdIconRegistry) {
mdIconRegistry.registerFontClassAlias('material', 'material-icons');
}
}
次に、内部で使用されますAppComponent
:
<md-icon fontSet="material">home</md-icon>
しかし、これらの JS エラーが原因で機能しません。
zone.js:1382 GET http://localhost:8080/node_modules/@angular/material/material.umd.js/icon 404 ()
Error: (SystemJS) XHR error (404) loading http://localhost:8080/node_modules/@angular/material/material.umd.js/icon
言うまでもなく、Angular CLI を使用して作成されたプロジェクトでも同じ構成が正常に機能します。
md-icon
SystemJS プロジェクトで作業するにはどうすればよいですか?