ExpressJS Generator 中的 Views 文件夹是干啥用的?

Posted

技术标签:

【中文标题】ExpressJS Generator 中的 Views 文件夹是干啥用的?【英文标题】:In ExpressJS Generator what is the Views folder for?ExpressJS Generator 中的 Views 文件夹是干什么用的? 【发布时间】:2015-12-15 12:14:27 【问题描述】:

背景

我正在构建一个 MEAN 应用程序并构建了一个基本的 Angular 应用程序模板。然后我继续使用

生成 expressjs 应用程序

npm install express-generator -g

表达我的应用

我读过所有服务器端的东西都应该放在生成的public 文件夹中。我从生成的公用文件夹中删除了所有内容,并将我的 Angular 应用程序放在那里。

这是我的Github Repo 的链接,其中包含该应用程序。

我的应用

将我的应用程序放入公用文件夹后,我运行了命令

DEBUG=myapp npm start

开始运行它。它工作得很好,所以我开始仔细查看生成我的 Express JS 的文件夹和文件。

观看次数

当我看到views 文件夹时,我浏览了一些文件夹。它包含.jade 文件,我知道jade 只是编写一些.html 文件的一种更简化的方式,但我想知道为什么在公共文件夹之外有一个用于html 视图的文件夹。

问题

如果公用文件夹应该保存客户端应用程序,那么为什么还有另一个带有“html”的视图文件夹?还是我在这里遗漏了什么?

注意

这是从应用程序构建的树,以防您不知道。

.
├── app.js
├── bin
│   └── www
├── package.json
├── public
│   └── MyAngularApp
├── routes
│   ├── index.js
│   └── users.js
└── views
    ├── error.jade
    ├── index.jade
    └── layout.jade

【问题讨论】:

【参考方案1】:

如果您使用 Angular,可能您只想将服务器用作 API,因此您不需要 views 文件夹。

当你想直接从服务器返回动态内容时,需要视图文件夹。

一个例子可以是,你想返回一个包含某物列表的页面。然后在您的控制器中进行查询,将结果传递给视图,HTML 被编译并返回。

如果您知道 php 是您通常在 PHP 应用程序中执行的操作。

但是使用 nodejs 更容易创建 API,然后使用 Angular 或 React(我更喜欢)创建客户端应用程序

【讨论】:

我可以使用 Views 文件夹进行服务器响应,然后像 404 或 Site under maintenance 吗?因为这些页面不一定必须作为应用程序的一部分构建。 是的,您可以使用它们。

以上是关于ExpressJS Generator 中的 Views 文件夹是干啥用的?的主要内容,如果未能解决你的问题,请参考以下文章

Nodejs的Express完成安装指导

项目发布的两种方式

续集expressjs中的事务未执行

在 ExpressJs 中使用时 JWT 中的多个问题

CORS 阻止 Expressjs 中的文件上传

ExpressJS:如何忽略路由中的公共静态文件?