我在本機的檔案結構跟範例中的一模一樣,原本Angular版本是5.X.X後來升級到6.0.7
結果SystemJsNgModuleLoader.load(“path”)會一直出現錯誤(有幾次會突然正常…)
於是我在stackblitz上做一個一樣的例子卻完全正常…
想請教一下這是Angular版本的問題嗎??
錯誤訊息:
範例:
本機版本:
我在本機的檔案結構跟範例中的一模一樣,原本Angular版本是5.X.X後來升級到6.0.7
結果SystemJsNgModuleLoader.load(“path”)會一直出現錯誤(有幾次會突然正常…)
於是我在stackblitz上做一個一樣的例子卻完全正常…
想請教一下這是Angular版本的問題嗎??
錯誤訊息:
範例:
本機版本:
是全新重新建立的?
那樣你的cli也許要重新安裝看看
我有試過重裝cli,重建專案,換電腦重建也是一樣,想不出來還有什麼原因會造成…
import 的路徑是正確的嗎? 看起來是路徑錯誤
我又再把內容更精簡,單純看SystemJsNgModuleLoader.load有沒有正常
但是本機端還是一樣錯誤…
範例:
檔案結構:
app.component.ts:
app.module.ts:
apply.module.ts:
錯誤訊息:
本機環境:
package.json:
你這一個問題,我認為是因為 ng cli 在建置時,並沒有將 applyModule 單獨建立出來,造成你這種現象的
所以在假設你沒有任何路由的前提下,在 app.modules 應該再加上這幾行程式
import { provideRoutes } from '@angular/router';
...
imports: [
...
provideRoutes([
{ loadChildren: './apply.module#ApplyModule' }
])],
總算找到原因了!!! 參考來源
問題跟Kevin大大說的是類似的
要先定義好Module,建置的時候才會另外拆分出來
只是我用的是另一種方法(投機方法不太好)
直接在路由上增加loadChildren,如下圖
另外我想請教一下,要怎麼把provideRoutes跟原有的router整合在一起呢??
擇一使用就可以了,如果有需要手動載入的 module,
就給他一個空的路徑就可以了
const routes = [
{path:'', loadChildren: '....'}
]