Express.js项目结构

时间:2015-02-13 12:47:12

标签: node.js express project-structure

我发现Express有application generator,但是文档没有解释每个目录和文件的用途。如果有人能给我一个简短的解释,说明我应该把哪些文件放在哪里,那将非常感激。这是生成的应用结构:

├── app.js
├── bin
│   └── www
├── package.json
├── public
│   ├── images
│   ├── javascripts
│   └── stylesheets
│       └── style.css
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

7 directories, 9 files

3 个答案:

答案 0 :(得分:6)

app.js文件是您的应用程序的入口点。

package.json文件包含所有依赖项和有关项目的各种详细信息。

bin文件夹应包含应用程序的各种配置启动脚本。

例如,不是在app.js文件中应用所有Express中间件,而是module.exports = {}来自他们自己的配置文件,并在app.js中要求它们。 [其他信息LINK]

views文件夹包含所有服务器端视图。

public文件夹包含所有前端代码。

routes文件夹包含您为应用程序创建的所有路径。

正如官方文档中所述,请注意这只是组织代码的一种方法。

你应该测试它,看看它是否适合你的项目。

答案 1 :(得分:1)

此结构是web-app的标准组织

public包含所有客户端静态文件(css,客户端javascript(例如jQuery),图像,字体......)

routes包含主要的后端代码(服务器端),它在调用模板引擎(见下文)之前计算数据或响应客户端(通过xml的json)。

views包含每个页面模板,请参阅jade template。这些文件由“route”

中的脚本使用

app.js包含快速核心,例如uri解析器,模块,数据库......

package.json是项目描述符文件(由npm用于依赖和共享)

如果应用程序生成器提供了完整的示例,请不要犹豫,打开每个文件(从app.js开始),以了解项目的组织。

答案 2 :(得分:1)

此主题专门针对www文件提供了更深入的答案:What does "./bin/www" do in Express 4.x?

基本上,从www文件(调用app.js)运行您的应用程序允许您使用不同的配置启动您的应用程序。您可能有一个“www”文件,表示应该在Web上运行应用程序的方式,作为开发人员运行的“dev”文件,运行测试时运行的“测试”文件等。阅读上面链接的主题以获取更多详细信息!