使用Angular4作为服务器端渲染引擎

时间:2017-06-04 14:29:30

标签: node.js angular angular-universal

我今天有一个非常大的系统,用Nodejs,express,mongoose和pug编写。

我希望将系统转移到使用Angular4而不是哈巴狗,这样我就可以享受在前端和后端渲染我的视图的可能性。除了拥有强大的组件系统和Angular4的所有其他功能外。

作为第一步,我希望只用Angular4取代哈巴狗。我已经阅读了一些文章和教程,展示了如何在服务器端呈现Angular4。 我想知道我目前如何进行替换,并将所有BL保留在nodejs图层中,并将最终视图模型传递给angular以进行渲染。

很想知道是否有一种“简单”的方式, 谢谢, 马坦

2 个答案:

答案 0 :(得分:0)

在后端(node + express)你可能有路由路径,比如CRUD操作你有一些路由。现在来看看我在Angular 4中的观点。在角度调用服务中设置Angular框架(您可以使用CLI或从git快速启动quick start获取克隆)您刚刚创建的后端API。现在你可以通过Angular而不是哈巴狗与后端进行交互。现在你可以自由地在前端工作了。   - 希望这个概念对你有所帮助。

答案 1 :(得分:0)

最佳方式:

  1. npm install angular-cli -g

  2. 新的你的项目名称( - style = scss 设置默认scss)

  3. 如果您想使用pug作为默认值 - look this

  4. 使用app.module.ts创建app.routing.ts

  5. 填写:

    从' @ angular / router'中导入{Routes,RouterModule}; 从' ./ 404 / 404.component'中导入{NotFoundComponent}; 从' ./ app.component';

    导入{AppComponent}

    const routes:Routes = [{     路径:'',     component:AppComponent   },{     路径:' **',     component:NotFoundComponent //需要创建它   } ];

    export const Routing = RouterModule.forRoot(routes);

  6. app.module.ts中的
  7. 添加:

  8.   

    从' ./ app.routing';

    导入{路由}
    @NgModule({
      imports: [
        ...
        **Routing,**
        ...
      ],
      ...
    
    1. 开始使用服务(--port = 3000)( - base-href =' /')( - env = prod)( - sm = false)
      --sm = false - >没有源地图,因此,权重将减少(但不会引用错误,对生产有用)