[英]Lazy-loaded modules warnings after updating Angular from 8 to 9
Angular 更新所有延遲加載模塊后返回警告:
Error: [path/to/module/module-name.ts] is missing from the TypeScript
compilation. Please make sure it is in your tsconfig via the 'files'
or 'include' property.
我的 function 返回模塊數組:
export function manifests(prefix = '') {
return [
{
loadChildren: () => import(prefix + '/path/to/a.module').then(m => m.AModule),
path: 'a',
},
{
loadChildren: () => import(prefix + '/path/to/b.module').then(m => m.BModule),
path: 'b',
},
]
}
如果我用 static 數組替換 function ,那么一切似乎都很好。 為什么?
我的 tsconfig.app.json:
{
"extends": "./tsconfig.json",
"compilerOptions": {
"outDir": "./out-tsc/app",
"types": []
},
"files": [
"src/main.ts",
"src/polyfills.ts",
"src/zone-flags.ts",
],
"include": [
"src/**/*.d.ts",
]
}
在我的情況下,由於某種原因,導入語句中的文件名被大寫了。
例如,假設我有以下.ts 文件: companySearchModel.ts
export class CompanySearchModel {
//some properties
}
使用companySearchModel
的另一個文件中的導入語句如下所示:
import { CompanySearchModel } from './models/CompanySearchModel.ts'
當它應該看起來像這樣:
import { CompanySearchModel } from './models/companySearchModel.ts'
不知道為什么會發生這種情況,但希望這會對您有所幫助。
您可以在包含屬性下面的 tsconfig 中添加此路徑以排除
"exclude": [
"path/to/module"
]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.