如何在angular6中导航到另一个项目?

时间:2018-12-18 04:17:49

标签: angular typescript angular-ui-router

我在另一个项目中有一个项目(PersonalPage)。

enter image description here

通常,如果我要运行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 { }

当我运行“ ng服务”时,这是我的错误:   enter image description here

1 个答案:

答案 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服务来实现。