Express.js 项目结构

Express.js 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

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

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

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

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

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

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

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

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

您应该对其进行测试,看看它是否适合您的项目。

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

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

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

views 包含每个页面模板,请参阅 jade template。 "route"

中的脚本使用这些文件

app.js包含express核心,如uri解析器、模块、数据库...

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

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

这个帖子具体给出了关于 www 文件的更深入的答案:What does "./bin/www" do in Express 4.x?

基本上,运行从 www 文件(调用 app.js)创建您的应用程序允许您以不同的配置启动您的应用程序。您可能有一个 "www" 文件代表应用程序在网络上应该 运行 的方式,一个 "dev" 文件,您作为开发人员会 运行,一个 "test" 文件你会 运行 当 运行 宁测试等。阅读上面链接的线程了解更多细节!