pushState
Backbone.js版本0.5更新引入了支持.
从骨干文档:
请注意,使用真实URL要求您的Web服务器能够正确呈现这些页面,因此也需要进行后端更改.例如,如果您的路径为/ documents/100,则如果浏览器直接访问该网址,则您的网络服务器必须能够提供该网页.对于完整的搜索引擎可抓取性,最好让服务器为页面生成完整的HTML ...但如果它是一个Web应用程序,只需呈现与根URL相同的内容,并使用Backbone填充其余内容视图和JavaScript工作正常.
这可能看起来像一个微不足道的问题,但我想知道是否有人可以帮助我使用一些特定的(最好是快速的)node.js服务器代码.我该如何处理这些路线?我有点困惑.
以下是我的应用程序路由器模块的相关摘录:
var Router = Backbone.Router.extend({
routes: {
'': 'index',
'about': 'about'
},
index: function() {
indexView.render();
},
about: function() {
aboutView.render();
}
});
var initialize = function() {
var router = new Router;
Backbone.history.start({ pushState: true });
}
return {
initialize: initialize
};
Run Code Online (Sandbox Code Playgroud)
我这里只有一个顶级路线和一个关于页面的路线.那么我应该如何设置一个允许我导航到的节点服务器:
domain.com
domain.com/about
domain.com/#/about // <- for browsers that don't support pushState
Run Code Online (Sandbox Code Playgroud) 我偶尔会听到将HTML <script>
标记放在HTML文档中而不是<head>
元素中.
有些人,或者我听说过,甚至提倡将一个人的脚本作为最后几个标签</body>
.
这是由于性能问题吗?也许加载脚本是一个阻塞的IO操作,考虑到依赖于脚本的脚本放在其他脚本之后,如下所示:
<script src="jQuery.js"></script>
<script src="myScriptThatUsesjQuery.js"></script>
Run Code Online (Sandbox Code Playgroud)
即使是这种情况,为什么将一个脚本放在HTML文档的末尾附近呢?
谢谢!