2017-02-03 3 views
0

Я новичок в Угловое 2 и есть проблема я использую Angular2 + WebPack, я импортировать угловые компоненты материала, но он не работаетИмпорт Материал дизайн Угловое 2 + WebPack

////////////////// 
 
// WEBPACK 
 
/////////// 
 
new DllBundlesPlugin({ 
 
    bundles: { 
 
    '@angular/material', 
 
    } 
 
    }) 
 

 
// APP MODULE 
 
import { MaterialModule } from '@angular/material'; 
 
// Should I use @angular/material or @angular2-material 
 
import { MaterialModule } from '@angular2-material'; 
 
import 'hammerjs'; 
 

 
@NgModule({ 
 
imports: [MetarialModule.forRoot()] 
 
}) 
 

 
// COMPONENT 
 
// import { MdButton } from '@angular/material'; 
 
import { MdButton } from '@angular2-material/button'; 
 

 
@Component({ 
 
    selector: 'test', 
 
    templateUrl: './test.html', 
 
    directive: [MdButton] // It says 
 
    //Generic type 'Type<T>' requires 1 type argument(s) 
 
    // Argument of type '{ selector: string; template: any; directives: typeof MdButton[]; }' is not assignable to parameter of type 'Component'. 
 
    //Object literal may only specify known properties, and 'directives' does not exist in type 'Component'. 
 
})

Я использую неправильную версию или не включил что-то?

ответ

1

@angular2-material довольно старый и устаревший.

Вы должны использовать @angular/material.

Я не уверен, что MetarialModule.forRoot() необходим в последней версии. Я думаю, что в любом случае вы можете оставить его, но он будет устаревшим в ближайшее время.

Поскольку вы импортировали MaterialModule в свой модуль, вам не нужно импортировать каждый компонент материала по одному. У вас будет доступ к ним напрямую.

Если вы хотите использовать материал в другом модуле, чем тот, который вы импортировали MetarialModule.forRoot(), не забудьте импортировать (только) MaterialModule.


Дружеский совет [по теме]:

Я новичок в угловыми 2 и есть проблема, которую я использую Angular2 + WebPack

Если вы не хотите Чтобы справиться с такими вещами самостоятельно и сосредоточиться на Угловом, вы должны использовать angular-cli.

Если вы хотите, чтобы попробовать с последней версией:

npm install -g @angular/cli 
ng new your-awesome-project 
cd your-awesome-project 
ng serve 

Вы теперь настройки.

Чтобы построить: ng build --prod

Посмотрите в репозиторий Github, чтобы быть в курсе команд, которые вы можете использовать ng generate ... и т.д.

+0

Здравствуйте! Спасибо за ваш совет. Я попытался понять, как это работает. Угловая - Cli отлично работает, но не может понять, где конфигурации Webpack – DarthJS

+0

Большое спасибо, я понял, что Webpack не включен, мне нужно сделать некоторые манипуляции. – DarthJS

+0

angular-cli делает некоторую работу над op webpack и вы не имеют доступа к конфигурации webpack. Существует проблема, о которой вы можете ознакомиться здесь: https://github.com/angular/angular-cli/issues/1656#issuecomment-240171375 и https://github.com/angular/angular-cli/issues/ 1656 # issuecomment-239366723 ... Если вам нужно получить доступ к конфигурации webpack, вы должны определенно не использовать angular-cli, тогда ... – Maxime

Смежные вопросы