0

私はngModuleでangular2 rc 5を使用しています

だから今、私は角度のある素材を使いたいと思っています。たとえば、angular2 マテリアル sidenav を使用します。npmを使用してインストールしました

npm i @angular2-material/sidenav

次に、そのangular 2マテリアルをsystemjs-config.jsに配置します

const map: any = {
  '@angular2-material': 'vendor/@angular2-material'
};

その後、AngularマテリアルをngModuleにインポートしました

@NgModule({
  imports: [MdButtonModule, MdCardModule],
  ...
})

しかし、私はエラーが発生しました

http://localhost:3000/node_modules/@angular2-material/button/ 404 (見つかりません)

私のコードに何か問題がありますか?

4

2 に答える 2

0

基本的な問題は、SystemJS が を参照したときにインポートするファイルがわからないimport {...} from '@angular2-material/buttonため、404 エラーを返すパスを取得しようとすることです。修正するには:

1http://localhost:3000/node_modules/@angular2-material/button/パスにファイルが含まれていることを確認しbutton.jsます。

2systemjs-config.jsファイルに、マテリアル パッケージのインポート方法を SystemJS に指示する設定を追加します。

var ngMaterialPackageNames = [
    'button',
    'card',
    //... any other Material packages you use
];

//tells SystemJS what file to load when a package name is imported
ngMaterialPackageNames.forEach(function(pkgName) {
    packages['@angular2-material/'+pkgName] = {
         main: pkgName+'.js', defaultExtension: 'js'
    };
});
...
// then later, do (you probably already have these lines)
var config = {
    map: map,
    packages: packages
};
System.config(config);
于 2016-09-01T05:43:00.650 に答える