2017-01-31 11 views
1

im using webpack 2.2.0. мои appmodule нагрузки должным образом, а также на маршруте кусок загружается, но он выдает ошибку шаблона синтаксического анализаугловой 2 webpack 2 ленивый модуль загрузки метаданных шаблон parse error

«не может связываться с„ngIf“, так как это не известное свойство»

, если им пытаются загрузить commonmodule в динамическом модуле он выдает ошибку дублировать

динамический маршрут (приложение-маршрутизации):

{ 
    path: "reports/:id", 
    loadChildren:() => { 
     return System.import('./reports/tabularReportsFachade/tabularReportsFachade.module').then((comp: any) => { 
      debugger 
      return comp.TabularReportsFachadeModule; 
     }); 
    } 

ребенка маршрут:

const routes: Routes = [ 
{ 
    path: "", 
    component: TabularReportsFachadeComponent,pathMatch: 'full' 
} 
]; 
export const routing: ModuleWithProviders = RouterModule.forChild(routes); 
Модуль

Ребенок:

@NgModule({ 
imports: [ routing, FormsModule], 
exports: [MyComponents], 
declarations: [MyComponents], 
bootstrap: [TabularReportsFachadeComponent], 

}) 
export class TabularReportsFachadeModule { 

static routing = routing; 
} 

webpack.config

var path = require('path'); 

module.exports = { 
entry: { 
    'polyfills': './Scripts/polyfills', 
    "vendor": "./Scripts/vendor", 
    "main": "./Scripts/main" 
}, 
output: { 
    filename: "./Scripts/[name].bundle.js", 
    path: __dirname, 
    publicPath: '/' 
}, 
resolve: { 
    extensions: [".ts", ".js", ".html"] 
}, 
devtool: 'sourcemap', 
module: { 
    loaders: [ 
     { 
      test: /.ts$/, 
      loader: 'babel-loader!ts-loader' 
     }, 
     { 
      test: /.css$/, 
      loader: 'style-loader!css-loader!sass-loader' 
     } 
    ] 
} 

};

ответ

1

Вам нужно добавить BrowserModule тоже.

Импорт BrowserModule в корневой модуль и CommonModule в другие модули, где вы хотите использовать общие директивы.

@NgModule({ 
    imports: [BrowserModule], 
    ... 
}) 
class AppModule {} 

и

@NgModule({ 
    imports: [CommonModule], 
    // Now MyComponent has access to ngIf 
    declarations: [MyComponent] 
    ... 
}) 
class OtherModule {} 

экспорт BrowserModule CommonModule, таким образом, нет необходимости импортировать CommonModule непосредственно в корневом модуле.

+0

спасибо тонну. работает отлично! – janIreal23

+0

Прохладный. Вы также можете принять этот ответ. –

1

модуль Ng добавить CommonModule использовать некоторые общие указания:

@NgModule({ 
    imports: [ routing, FormsModule, CommonModule ], 
    exports: [MyComponents], 
    declarations: [MyComponents], 
    bootstrap: [TabularReportsFachadeComponent], 

}) 
export class TabularReportsFachadeModule { 

    static routing = routing; 
} 
+0

как я импортирую commonModule в свой appmodul уже, импорт здесь снова дает мне дублирующую ошибку модуля – janIreal23

+0

Я так не думаю, возможно, вы уже импортируете BrowserModule в AppModule, затем вы также импортируете CommonModule. обратите внимание, что BrowserModule включает CommonModule. удалите CommonModule, если у вас уже есть BrowserModule. но в другом модуле, если вы хотите использовать директиву, например ngIf, NgFor и т. д., вам нужно импортировать CommonModule или BrowserModule, а не оба из них. –

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

  • Нет связанных вопросов^_^