对应单页应用,很多场景需要实现局部刷新并且url做相应的改变。这个时候就需要一个路由 控制器。

director.js在浏览器端利用#hash来实现路由控制和无刷新,使用起来也比较简单,相 比较React Router使用组件来进行路由的方式,我更喜欢这种方式。

浏览器端

  // 配置路由
  var router = Router({
    '/author' : getAuthor,
    '/book' : [getBook, function(){
      console.log('another inline code.')
    }],
    '/books/view/:bookid' : getBookDetail
  });

  // 指定的一些函数
  function getAuthor(){
    console.log('get author');
  }

  function getBook(){
    console.log('get book');
  }

  function getBookDetail(id){
    console.log('get book detail ' + id);
  }

  // 路由初始化
  router.init();

服务器端

  var Router = require('direct').http.Router;

  var router = new Router({
    //.. do the same thing as browser side.
  })

  // 对应的函数做下改变,输出使用this.res
  function getAuthor(){
    this.res.end('get author');
  }

参考: