Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angular 5和服务器端渲染_Javascript_Angular_Firebase_Angular5_Server Side Rendering - Fatal编程技术网

Javascript Angular 5和服务器端渲染

Javascript Angular 5和服务器端渲染,javascript,angular,firebase,angular5,server-side-rendering,Javascript,Angular,Firebase,Angular5,Server Side Rendering,有很多关于服务器端渲染(SSR)和角度渲染的资料,但是,其中大部分似乎是过时的 我已经使用Firestore2和Firebase上的主机创建了Angular 5网站。这是我的第一个Angular站点,我没有任何SSR经验,所以我正在寻找如何实现它的建议 从我所读到的,Angular Universal现在被烘焙成Angular 5。我还了解到,有一个模块可以避免HTTP请求被发出两次。最后,我知道延迟加载需要不同于路由器的实现。我正在使用RouterModule,声明module.ts文件中的标

有很多关于服务器端渲染(SSR)和角度渲染的资料,但是,其中大部分似乎是过时的

我已经使用Firestore2和Firebase上的主机创建了Angular 5网站。这是我的第一个Angular站点,我没有任何SSR经验,所以我正在寻找如何实现它的建议

从我所读到的,Angular Universal现在被烘焙成Angular 5。我还了解到,有一个模块可以避免HTTP请求被发出两次。最后,我知道延迟加载需要不同于路由器的实现。我正在使用RouterModule,声明module.ts文件中的标题、说明、路由和组件:

RouterModule.forRoot([
      { 
        path: '', 
        component: HomeComponent,
        data: {
          title: '###',
          description: '###'
        }
      },
      { 
        path: 'about', 
        component: AboutComponent,
        data: {
          title: '### - About',
          description: '###'
        } 
      },
      { 
        path: 'products-and-services', 
        component: ProductsServicesComponent,
        data: {
          title: '### - Products & Services',
          description: '####'
        }  
      },
      { 
        path: 'world-class-laundry', 
        component: LaundryComponent,
        data: {
          title: '### - World Class Laundry',
          description: '###'
        }  
      },
      { 
        path: 'contact', 
        component: ContactComponent,
        data: {
          title: '### - Contact',
          description: '###'
        }  
      },
      { 
        path: 'privacy-policy', 
        component: PrivacyComponent,
        data: {
          title: '### - Privacy Policy',
          description: '###'
        }  
      },
      { 
        path: '**', 
        component: NotFoundComponent,
        data: {
          title: '### - Page Not Found',
          description: 'This page does not exist.'
        }  
      }
    ])
  ],

设置服务器端渲染是否应该遵循特定的方法?我不需要任何花哨的东西。这是一个非常基本的网站。事实上,我只使用Firestore2来存储联系人表单中的联系人信息。每个组件中的所有内容都是硬烘焙的HTML。

angular cli具有“ng generate universal”功能。这是一个很好的切入点。有关传输状态,请参阅设置和。我为(angular+universal+lazyload+ngx translate+localize router)制作了一个示例:你也可以参考官方指南:是的,你可以使用,如果没有,Google Chrome刚刚启动了Rendertron,为机器人提供呈现页面。