javascript - 如何在没有初始刷新的情况下从服务器准备好 Angular.js 应用程序

标签 javascript angularjs

我正在编写 Angular.js 应用程序。我希望它非常快,因此我在最初加载时为它提供完全生成的服务器端服务。之后,每个更改都应由 Angular 在客户端处理,并与服务器进行异步通信。

我有ng-view中央属性 <div> .但是现在 Angular 重新生成了这个 <div> 的内容即使在第一次加载时,在单击任何链接之前。我不想要这种行为,因为这样服务器端生成的页面就没有用了。

如何实现?

最佳答案

虽然 Gloopy 的建议在某些情况下可行,但在其他情况下会失败(即 ng-repeat)。 AngularJS 目前不具备在服务器上呈现的能力,但这是(据我所知)其他 JavaScript 框架都没有的能力。我也知道服务器端渲染是 AngularJS 开发人员正在研究的东西,因此您可能会在不久的将来看到它。 :)

当您说您希望应用程序“非常快”时,您应该考虑您想要这种速度的确切位置。有很多地方需要考虑速度,比如启动应用程序所需的时间、响应所需的时间、资源密集度等(你似乎关注的是启动时间)。通常必须做出不同的权衡来平衡应用程序的性能。我建议阅读此对另一个关于 AngularJS 性能的问题的回复,以了解更多关于该主题的信息:Angular.js Backbone.js or which has better performance

您是否确实遇到了性能问题,或者这只是您预测的问题?如果是后者,我建议构建一个代表您的应用程序类型的原型(prototype),看看它是否真的是一个问题。如果是前者,并且您的应用程序在客户端引导的时间太长,您可能可以进行一些优化(例如,内联一些模型数据以避免额外的往返,或使用 Gloopy 的建议)。您还可以使用 Chrome 中的分析工具,以及 AngularJS Batarang在您的应用程序中寻找缓慢的区域。

关于javascript - 如何在没有初始刷新的情况下从服务器准备好 Angular.js 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11984464/

相关文章:

javascript - Angular.JS - 是否可以在一个指令中有多个 View ?

javascript - 如何 'get' 匹配 2 个属性/值对的 dom 元素的所有实例?

javascript - 在页面加载时将服务器端 HTML 转换为 Javascript MVC 的最佳方法是什么?

javascript - Angularjs动态循环访问数组键的动态值

node.js - 模块未在 karma 中定义

javascript - 限制事件监听器每秒可以触发的次数

javascript - 作为 ArrayBuffer 发送的数据被作为 Blob 接收

javascript - 使用 Jquery 获取字符串的正则表达式模式

javascript - 如何像ng-click一样在ng-model中传递参数

javascript - 获取 ng-repeat 中行和列的索引