Express web framework (Node.js/JavaScript)

Express是一个流行的不受限制的Web框架,使用JavaScript编写并托管在Node.js运行时环境中. 本模块说明了该框架的一些关键优势,如何设置开发环境以及如何执行常见的Web开发和部署任务.

Prerequisites

在开始本模块之前,您需要了解什么是服务器端Web编程和Web框架,最好是通过阅读我们的服务器端网站编程的第一步模块中的主题. 强烈建议您具有编程概念和JavaScript的一般知识,但对于理解核心概念不是必不可少的.

注意 :此网站提供了许多有用的资源,可用于在客户端开发的上下文中学习JavaScript: JavaScriptJavaScript指南JavaScript基础知识JavaScript (学习). JavaScript的核心语言和概念与Node.js上的服务器端开发相同,并且这些材料将是相关的. Node.js提供了其他API,用于支持在无浏览器环境中有用的功能(例如,用于创建HTTP服务器和访问文件系统),但不支持用于浏览器和DOM的JavaScript API.

本指南将提供有关使用Node.js和Express的一些信息,以及Internet和书籍中还有许多其他出色的资源-其中一些链接自《我如何开始使用Node.js (StackOverflow)》和《学习Node.js的最佳资源? (Quora).

Guides

Express/Node introduction
在第一篇Express文章中,我们回答问题"什么是节点?" 和"什么是快递?" 并概述Express Web框架的特殊之处. 我们将概述主要功能,并向您展示Express应用程序的一些主要构造块(尽管此时您还没有一个可以对其进行测试的开发环境).
Setting up a Node (Express) development environment
现在您已经知道Express的用途,我们将向您展示如何在Windows,Linux(Ubuntu)和Mac OS X上设置和测试Node / Express开发环境.无论您使用的是哪种通用操作系统,本文都应该为您提供开始开发Express应用所需的功能.
Express Tutorial: The Local Library website
我们实用的教程系列中的第一篇文章介绍了您将学到的内容,并概述了我们将在后续文章中研究和发展的"本地库"示例网站.
Express Tutorial Part 2: Creating a skeleton website
本文介绍了如何创建"骨架"网站项目,然后可以继续使用网站特定的路由,模板/视图和数据库进行填充.
Express Tutorial Part 3: Using a Database (with Mongoose)
本文简要介绍了Node / Express的数据库. 然后继续说明如何使用MongooseLocalLibrary网站提供数据库访问. 它说明了如何声明对象模式和模型,主要字段类型以及基本验证. 它还简要介绍了访问模型数据的几种主要方法.
Express Tutorial Part 4: Routes and controllers
在本教程中,我们将使用"虚拟"处理程序函数为最终在LocalLibrary网站中需要的所有资源端点设置路由(URL处理代码). 完成后,我们将为路由处理代码提供一个模块化结构,我们可以在以下文章中使用实际的处理程序功能进行扩展. 我们还将非常了解如何使用Express创建模块化路由.
Express Tutorial Part 5: Displaying library data
现在,我们准备添加显示LocalLibrary网站书籍和其他数据的页面. 这些页面将包含一个主页,该页面显示我们对每种模型类型拥有多少条记录,以及所有模型的列表和详细信息页面. 在此过程中,我们将获得从数据库获取记录和使用模板的实践经验.
Express Tutorial Part 6: Working with forms
在本教程中,我们将向您展示如何使用Pug在Express中使用HTML表单 ,尤其是如何编写表单以从数据库中创建,更新和删除文档.
Express Tutorial Part 7: Deploying to production
现在,您已经创建了一个很棒的LocalLibrary网站,您将需要将其安装在公共Web服务器上,以便图书馆工作人员和成员可以通过Internet访问它. 本文概述了如何寻找主机来部署网站以及如何使网站准备好投入生产.

See also

Installing LocalLibrary on PWS/Cloud Foundry
本文提供了有关如何在Pivotal Web Services PaaS云上安装LocalLibrary的实践演示-这是Heroku(上面列出的教程的第7部分中使用的PaaS云服务)的功能全面的开源替代方案. 如果您正在寻找Heroku的替代产品(或其他PaaS云服务),或者只是想尝试一些不同的东西,PWS / Cloud Foundry绝对值得一试.

Adding more tutorials

上面列出了所有现有的教程,但是,如果您想扩展此模块,则需要涵盖的其他一些有趣的主题包括:

  • 使用会话.
  • 用户认证.
  • 用户授权和权限.
  • 测试Express Web应用程序.
  • Express Web应用程序的Web安全.

对模块的评估也将是一个很棒的补充!