【问题标题】:Express.js Project StructureExpress.js 项目结构
【发布时间】:2015-02-13 12:47:11
【问题描述】:

我发现 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

【问题讨论】:

  • 您能解释一下否决票吗?我问这个问题的方式有什么问题? 2个声望点我不关心,我只是想知道未来。

标签: node.js express project-structure


【解决方案1】:

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

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

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

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

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

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

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

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
    • @AdamB,我试图在我的答案中包含答案的要点。我没有完全理解该线程中回复的所有细微差别,因此我无法比我在此处的回答中做出更好的解释。
    【解决方案3】:

    这个结构是web-app的标准组织

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

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

    views 包含每个页面模板,请参阅jade template。这些文件被“路由”中的脚本使用

    app.js 包含 express 核心,例如 uri parser、modules、database...

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-11
      • 2013-06-30
      • 2019-02-08
      • 2018-12-19
      • 2017-06-11
      • 2014-09-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多