Tag: pushstate

Express节点作为启用pushState的服务器提供没有任何path前缀的任何静态资源

我正在用Ember.js或Backbone.js作为前端MVC,express.js(node.js)作为后端服务器构build单页Web应用程序。 server / app.js代码简而言之 app.use(bodyParser.json()); app.use(express.static(path.join(__dirname, '..', 'client'))); app.get('*', function(req, res) { return res.render('base'); (will sendFile (client/index.html) ) }); 它会加载所有公共资产的客户端/文件夹,客户端文件夹结构如下所示 – client — index.html ( will be rendered as always ) — app (front end mvc code) — assets — images — styles 当前端MVC启用html5 pushstate时,express服务器始终都提供所有匹配的路由,当页面刷新或者url被手动插入到浏览器中时,它将一如既往地呈现index.html。 client / index.html (示例代码) <link rel="stylesheet" href="assets/styles/reset.css"> <link rel="stylesheet" href="assets/styles/base.css"> […]

Backbone.js pushState路由与node.jsexpression服务器帐户?

在Backbone.js的0.5版更新中引入了pushState支持。 从骨干文件 : 请注意,使用真实URL需要您的Web服务器能够正确呈现这些页面,因此还需要后端更改。 例如,如果路由为/ documents / 100,则如果浏览器直接访问该URL,则您的Web服务器必须能够提供该页面。 对于完整的search引擎可爬行性,最好让服务器为页面生成完整的HTML …但是如果它是一个Web应用程序,只需渲染与根URL相同的内容,然后用Backbone填充剩下的内容视图和JavaScript工作正常。 这可能看起来像一个微不足道的问题,但我想知道是否有人可以帮我一些特定的(最好是expression式 ) 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 { […]