我有两套项目,一套PC端,一套移动端(都是用angular写的);现在我想将这两套整合成一套,然后如果是移动设备就跳转到移动端;如果是PC设备就跳转到PC端。有两个入口(一个PC端入口,一个移动端入口)
是怎么整合的?如果两套入口的话,可以考虑在Nginx上面判断代码都放一起,两套页面,一个入口的话,你可以考虑加上路由守卫CanActivate在路由守卫里面判断当前url是否移动端url,当前设备是否移动端,如果不符合在重新指定路径可以参考下面的代码片段{ path: '', component: DefaultComponent, canActivate:[PageGuardService], children: [ // 业务子模块 { path: 'system', loadChildren: () => import('./system/system.module').then(m => m.SystemModule) }, ] } @Injectable({ providedIn: 'root' }) export class PageGuardService implements CanActivate { constructor( private router: Router) { } canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree { const url: string = state.url; if (this.isMobile(navigator.userAgent)&&!this.isMobileLink(url)){ return this.router.parseUrl('移动端链接'); } return true; }
是怎么整合的?
如果两套入口的话,可以考虑在Nginx上面判断
代码都放一起,两套页面,一个入口的话,你可以考虑加上路由守卫
CanActivate
在路由守卫里面判断当前url是否移动端url,当前设备是否移动端,如果不符合在重新指定路径
可以参考下面的代码片段