用restify进行版本控制的最佳文件夹结构

我正在制作一个Restful API,并且在具有Restify的Nodejs中有以下文件夹结构:

- controllers -- example.js - models - routes -- example.js - server.js 

处理不同版本的最佳解决scheme是什么,我在想:

1)基于文件夹结构

 - controllers -- v1.0 --- example.js -- v2.0 --- example.js - models - routes -- v1.0 --- example.js -- v2.0 --- example.js - server.js 

但是,有了这个解决scheme,我必须拥有所有的控制器和路由重复,如果一个控制器没有改变,我必须有一个副本在正确的版本文件夹

2)在控制器代码中有不同版本的每个函数,并发送req版本以获得正确的function。

我希望你能够明白。

我build议解决scheme2.它也在这里推荐[Restify Documentation]。 版本化路由的目标之一是避免以这种方式组织代码。

这样,就可以在任何可能的情况下重用一些代码。