关于您提到的文件夹:
/libs
通常用于自定义classes/functions/modules
/vendor
或/support
包含第三方库(使用git作为源代码管理时添加为git子模块)/spec
包含BDD测试规范。/tests
包含应用程序的单元测试(使用测试框架,请参见 此处)
注意:
自NPM引入了干净的程序包管理以来,/vendor
和/support
都已弃用。建议使用NPM和package.json文件处理所有第三方依赖关系
当构建一个较大的应用程序时,我建议使用以下附加文件夹(尤其是在使用某种MVC- / ORM-
framework(例如express或mongoose)时):
/models
包含您所有的ORM模型(Schemas
以猫鼬称呼)/views
包含您的视图模板(使用express中支持的任何模板语言)/public
包含所有静态内容(图像,样式表,客户端Javascript)/assets/images
包含图像文件/assets/pdf
包含静态pdf文件/css
包含样式表(或CSS引擎编译的输出)/js
包含客户端Javascript
/controllers
包含所有快递路线,按应用程序的模块/区域分隔(注意:使用express的引导功能时,此文件夹称为/routes
)
我习惯了以这种方式组织项目,我认为效果很好。
基于Coffeescript的Express应用程序的更新(使用 connect-
assets):
/app
包含您已编译的Javascript/assets/
包含所有需要编译的客户端资产/assets/js
包含您的客户端Coffeescript文件/assets/css
包含您所有的LESS / Stylus样式表
/public/(js|css|img)
包含没有任何编译器处理的静态文件/src
包含所有服务器端特定的Coffeescript文件/test
包含所有单元测试脚本(使用您选择的测试框架来实现)/views
包含您所有的表达意见(无论是jade,ejs还是任何其他模板引擎)



