2017-05-17 39 views
0

我建立了一個從丹Wahlin的Angular-Jumpstart應用大量借鑑的應用程序,它的工作原理,當我運行使用他的「故宮開始」,它看起來像這樣的:如何解決Webpack/Angular moduleId錯誤?

"start": "tsc && concurrently \"tsc -w\" \"node server.js\" 

然後我用VISAUL工作室2017年建立了「 用於Visual Studio的ASP.NET Core + Angular 2模板'由Scott Sanderson在其blog post中以相同的名稱引用的應用程序。他的這個ASP.NET Core/Angular 2示例應用程序使用Webpack,服務器端渲染和HMR。它工作得很好。

但是,我想將我爲Dan Wahlin應用創建的一些代碼添加到Scott Sanderson應用中,並且我遇到了moduleId-相關錯誤。以下是錯誤消息我收到的一個示例:

An unhandled exception occurred while processing the request. Exception: Call to Node module failed with error: Error: moduleId should be a string in "FilterTextboxComponent". ...If you're using Webpack you should inline the template and the styles...

要解決此我曾嘗試:

  • 問題
  • 設置從成分(S)卸下的moduleId變量的的moduleId varaible以這種方式:

    moduleId: module.id + '' 
    

我已經看過這裏和其他地方,還沒有能夠確定我需要做什麼來解決這個問題。這是一個Webpack的錯誤?我忽略了我需要做的事情嗎?

如果您認爲能幫助您,我很樂意提供更多信息!

+0

請爲模塊拋出錯誤添加代碼。 – alphapilgrim

+0

從'@ angular/core'導入{NgModule}; 從'@ angular/common'導入{CommonModule}; 從'@ angular/forms'導入{FormsModule}; 從'./filter-textbox/filter-textbox.module'導入{FilterTextboxModule}; 從'./pagination/pagination.module'導入{PaginationModule}; 從'./pipes/capitalize.pipe'導入{CapitalizePipe}; 從'./pipes/trim.pipe'導入{TrimPipe}; 從'./directives/sortby.directive'導入{SortByDirective}; –

+0

@NgModule({ 進口:[CommonModule,FilterTextboxModule,PaginationModule], 出口:[CommonModule,FormsModule,CapitalizePipe,TrimPipe,SortByDirective, FilterTextboxModule,PaginationModule], 聲明:[CapitalizePipe,TrimPipe,SortByDirective] }) 導出類SharedModule {} –

回答

0

我想通了,發生了什麼事......

我會通過我的.ts文件中刪除提及的moduleId編輯@Component元數據,並保存它,但由於某些原因的WebPack沒有transpiling的.TS文件導入一個新的.js文件。它只是捆綁並提供舊的.js文件。

至於爲什麼? ...我認爲Webpack在它們出現時使用.js文件,但是當它們不存在時它們會生成它自己的文件。