我在另一个项目中有一个项目(PersonalPage)。
通常,如果我要运行PersonalPage项目,请输入“ ng服务PersonalPage ”。
链接两个项目时出现问题。我想在根项目中调用(路由器)个人项目。但这不起作用。
import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
const routes: Routes = [
{
path: 'personalpage',
loadChildren: '../../projects/PersonalPage/src/app/app.module#AppModule',
data: { preload: true }
}
, {
path: '',
redirectTo: '/personalpage',
pathMatch: 'full'
},
];
@NgModule({
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
export class AppRoutingModule { }
答案 0 :(得分:0)
这种方式行不通,让我解释一下角度引导程序。
每个Angular应用程序的入口都是main.ts文件,其中包含最后一行:
platformBrowserDynamic()
.bootstrapModule(AppModule)
.catch(err => console.error(err));
AppModule是我们的根模块,是我们应用程序的入口模块, 如果您打开的是app.modules.ts,则会找到引导程序:[AppComponent]这是应用程序中的入口点组件。
您遇到的错误是由于ts问题造成的,您可以在应用程序中看到一个tsconfig.json文件,该文件可以跟踪项目tsconfig.app.json中的所有内容(“ include”:[“ ** / * .ts“]) 由于您要导入的模块不在tsconfig的范围内,因此无法找到它,并且抛出错误将模块包含在include数组中以解决该问题。
在这种情况下,您可以创建一个新的模块或库,而不是创建一个新的应用程序。 使用nrwl.io(nrwl工作区),这使通过多个库构建应用程序非常容易。
如果您需要在项目中导入库,则需要在应用tsconfig.app.json中注册它,
如果您仍然想创建两个不同的项目,则可以通过创建两个应用程序的构建并通过Express服务来实现。