【问题标题】:nodejs and angularjs single page applicationnodejs 和 angularjs 单页应用
【发布时间】:2014-07-10 14:21:44
【问题描述】:

我想要一个 nodejs 服务器来托管一个角度单页应用程序,使用角度路由模块。 每次导航到不同的视图时,路由是否需要从服务器获取不同的视图?

有没有办法向客户端发送一束 html? 我错过了一些非常基本的东西吗?

【问题讨论】:

  • 您可以在/ 上提供主页,并使用角度进行路由。然后,您可以将视图作为静态 HTML 文件提供。如果您需要请求数据,您可以使用 $http 提供程序在其他路由上进行。
  • 这就是我想问的。如何将视图作为静态 html 文件提供。如果我的 index.html 看起来像这样:
    我的服务器上有 login.html 页面,并且我的 app.js 看起来像这样: app.config(function($routeProvider) { $routeProvider.when("/login", { templateUrl: {}, controller: "LoginController" }) 我应该在 templateUrl 中写什么?

标签: node.js angularjs single-page-application


【解决方案1】:

有一些使用 Angular 构建的示例应用程序,您应该在开始之前阅读它们。

回答您的问题:这取决于您。

例如,“webmail-lite”客户端是一个单页应用程序(可能不是 Angular,但它是相同的逻辑),它们将所有模板“视图”(html sn-ps)作为内联传输:

<script id="Mail_LayoutSidePane_Toolbar" type="text/html">
    <div class="toolbar">
        <span class="resizer_top" data-bind="event: { 'dblclick': resizeDblClick}"></span>  
    </div>
</script>

因此,您只需处理要显示的数据并创建服务器端视图以交付主 index.html 文件和数据/RESTful/JSON-Views。

一种更“干净”的继承模板方式是使用require.js

【讨论】:

  • 所以,如果我的 index.html 看起来像这样:
    我的服务器上有 login.html 页面,我的 app.js 看起来像这样: app.config(function($routeProvider) { $routeProvider.when("/login", { templateUrl: {}, controller: "LoginController" } ) 我应该在 templateUrl 中写什么?
【解决方案2】:

哎呀... ng-app 被定向到错误的模块。 因此该路线无法获得视图。

【讨论】:

    猜你喜欢
    • 2014-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-25
    • 2016-07-20
    • 2015-07-17
    相关资源
    最近更新 更多