在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.
我的返回模块数组的函数:
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',
},
]
}
但是,如果我用静态数组替换该函数,一切似乎都很好。为什么?
我的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",
]
}
答案 0 :(得分:0)
就我而言,由于某种原因,导入语句中的文件名被大写了。
例如,假设我有以下.ts文件:companySearchModel.ts
export class CompanySearchModel {
//some properties
}
使用companySearchModel
的另一个文件中的import语句如下所示:
import { CompanySearchModel } from './models/CompanySearchModel.ts'
看起来应该像这样:
import { CompanySearchModel } from './models/companySearchModel.ts'
不确定为什么会发生这种情况,但是希望这会对您有所帮助。
答案 1 :(得分:0)
您可以在包含属性的tsconfig中添加要排除的路径
"exclude": [
"path/to/module"
]