JavaScript 技术自 1995 年发布以来取得了长足的进步。我们见证了 ECMAScript 规范的多个主要版本以及单页 Web 应用程序的兴起,所有这些都由客户端 JavaScript 框架提供支持。最初,所有 JavaScript 开发和创新都在浏览器中完成,因为那是唯一支持该语言的环境。随着时间的推移,Web 开发人员开始意识到 JavaScript 的许多最有用的功能(非阻塞、事件驱动、许多人熟悉的语言)可以在浏览器以外的环境中使用。这启动了 JavaScript 社区第二轮创新,导致 JavaScript 在服务器和数据库上运行。
突然之间,了解 JavaScript 并不会自动将你归类为“前端 Web 开发人员”。如果您精通该语言,除了前端用户体验之外,您还可以构建服务器和数据库。现在,开发人员首次可以使用仅JavaScript 构建整个 Web 应用程序。这种趋势通常被称为“全栈 JavaScript”或“纯 JavaScript 解决方案”。结合四种流行的 JavaScript 技术:MongoDB、Express、AngularJS 和 Node.js 来构建 Web 应用程序已变得非常流行,以至于它被称为“MEAN 栈”。
- MongoDB – MongoDB 是一种所谓的 NoSQL 数据库。可以将其视为文档数据库,而不是由行、列和表组成。主要用例是存储 JSON 数据;在使用 JavaScript 编写应用程序时非常适合。它在关系和对模式的严格遵守方面可能有所欠缺,但在速度、可扩展性和易用性方面却弥补了不足。
- Express – Express 是一种精简的 Web 服务器框架,旨在使使用 Node 构建 Web 服务器更轻松、更易于维护。它是一个不拘泥于形式的框架,为开发人员提供了高度的可定制性,但“低级”到足以访问其构建的基础 Node 框架。Express 提供易于使用的请求路由器、cookie 管理、静态文件服务器以及创建企业级 Web 服务器所需的许多其他 HTTP 构建块。
- AngularJS – Angular 是一种功能丰富的客户端 MVC JavaScript 框架。它可用于创建强大且复杂的单页 Web 应用程序。它具有内置的双向数据绑定和自己的基于 HTML 的模板语言。它还有一个名为“指令”的功能,允许您使用新属性甚至新元素扩展 HTML。Angular 也具有很高的可测试性,这可能不是开发中最有趣的面向,但它通常是最重要的,并且在客户端代码中经常被忽视。最后,它提供约定和最佳实践来帮助开发人员构建客户端解决方案。
- Node – Node 是一个用于构建服务器和网络应用程序的 JavaScript 运行时。它提供了在浏览器中找到的所有 JavaScript 功能,以及用于文件和网络 I/O 的附加功能。它使用 Google 的 V8 引擎(与 Google Chrome 中使用的引擎相同)来执行 JavaScript。它还拥有非常活跃的开发人员社区和 Node 模块生态系统(Express 就是这样一个模块)。虽然已经有其他服务器端 JavaScript 实现,但就开发和爱好者以及大型公司的采用而言,Node 迄今为止是最成功的。
如果您像我一样是 JavaScript 的粉丝,那么您应该对仅使用 JavaScript 构建整个 Web 应用程序的前景感到兴奋。MEAN 栈是一个非常热门的话题,网上有大量关于如何开始使用它的信息。事实上,信息如此之多,以至于“入门”的想法似乎有点令人生畏。
这就是我和 Colin Ihrig 为此写了一本书的原因。在书中,我们讨论了构成 MEAN 栈的四种技术中的每一种。我们涵盖了每种技术的最重要功能,这些功能将帮助您快速上手并提高工作效率。然而,解释只能走这么远。除了许多代码示例外,我们还将在整本书中逐步构建一个简单的 HR 风格的 Web 应用程序。您将学习一项技术,查看一些代码示例,然后逐步使用该技术构建一个真实的系统。在本书的结尾,您将拥有一个功能齐全的 Web 应用程序,您可以根据本书中的信息自行使用和扩展。
关于使用 MEAN 进行全栈 JavaScript 开发的常见问题
全栈 JavaScript 开发中的 MEAN 栈是什么?
MEAN 栈是用于开发 Web 应用程序的基于 JavaScript 的技术的集合。MEAN 是 MongoDB、Express.js、AngularJS 和 Node.js 的首字母缩写。MongoDB 是一个 NoSQL 数据库,Express.js 是一个在 Node.js 上运行的 Web 应用程序框架,AngularJS 是一个 JavaScript MVC 框架,Node.js 是一个用于事件驱动的服务器端和网络应用程序的执行环境。
为什么我的 Web 开发项目应该选择 MEAN 栈?
MEAN 栈是 Web 开发的一个强大、高效且灵活的选择。它完全基于 JavaScript,这意味着您可以对服务器端和客户端脚本使用相同的语言。这可以使您的开发过程更加简化和高效。此外,MEAN 栈中的所有技术都是开源且免费使用的,这有助于降低成本。
MongoDB 在 MEAN 栈中是如何工作的?
MongoDB 是 MEAN 栈的数据库组件。它是一个 NoSQL 数据库,这意味着它可以处理大量数据并且具有高度的可扩展性。MongoDB 以二进制 JSON 格式存储数据,这使得在客户端和服务器之间传递数据变得容易。
Express.js 在 MEAN 栈中扮演什么角色?
Express.js 是一个在 Node.js 上运行的 Web 应用程序框架。它提供了一个简单的界面来构建 Web 应用程序和 API,并且它处理您原本必须自己编写的许多样板代码。这可以使您的开发过程更快、更高效。
AngularJS 如何融入 MEAN 栈?
AngularJS 是一个用于构建 Web 应用程序的 JavaScript MVC 框架。它提供了一种结构化的 Web 应用程序开发方法,具有双向数据绑定和依赖注入等功能,可以使您的代码更高效、更易于管理。
Node.js 在 MEAN 栈中扮演什么角色?
Node.js 是一个用于事件驱动的服务器端和网络应用程序的执行环境。它基于 V8 JavaScript 引擎构建,这意味着它非常快。Node.js 也是非阻塞的,这意味着它可以同时处理许多连接,这使其成为实时应用程序的绝佳选择。
如何开始使用 MEAN 栈开发?
有很多资源可以帮助您开始使用 MEAN 栈开发。您可以先学习每种技术,然后再学习它们如何协同工作。网上有很多教程和指南,还有书籍和课程。
学习 MEAN 栈的先决条件是什么?
在开始学习 MEAN 栈之前,您应该对 JavaScript 有基本的了解。了解 Web 开发的基础知识(如 HTML 和 CSS)也很有帮助。
MEAN 栈是否有替代方案?
是的,MEAN 栈有很多替代方案。一些流行的替代方案包括 MERN 栈(用 React 替换 AngularJS)、MEVN 栈(用 Vue.js 替换 AngularJS)和 LAMP 栈(使用 Linux、Apache、MySQL 和 PHP)。
我可以用 MEAN 栈构建什么样的应用程序?
MEAN 栈非常通用,您可以使用它来构建各种应用程序。这包括单页应用程序、社交网络站点、实时应用程序、电子商务站点等等。
以上是完整的堆栈JavaScript开发的详细内容。更多信息请关注PHP中文网其他相关文章!

JavaScript字符串替换方法详解及常见问题解答 本文将探讨两种在JavaScript中替换字符串字符的方法:在JavaScript代码内部替换和在网页HTML内部替换。 在JavaScript代码内部替换字符串 最直接的方法是使用replace()方法: str = str.replace("find","replace"); 该方法仅替换第一个匹配项。要替换所有匹配项,需使用正则表达式并添加全局标志g: str = str.replace(/fi

本教程向您展示了如何将自定义的Google搜索API集成到您的博客或网站中,提供了比标准WordPress主题搜索功能更精致的搜索体验。 令人惊讶的是简单!您将能够将搜索限制为Y

利用轻松的网页布局:8个基本插件 jQuery大大简化了网页布局。 本文重点介绍了简化该过程的八个功能强大的JQuery插件,对于手动网站创建特别有用

因此,在这里,您准备好了解所有称为Ajax的东西。但是,到底是什么? AJAX一词是指用于创建动态,交互式Web内容的一系列宽松的技术。 Ajax一词,最初由Jesse J创造

核心要点 JavaScript 中的 this 通常指代“拥有”该方法的对象,但具体取决于函数的调用方式。 没有当前对象时,this 指代全局对象。在 Web 浏览器中,它由 window 表示。 调用函数时,this 保持全局对象;但调用对象构造函数或其任何方法时,this 指代对象的实例。 可以使用 call()、apply() 和 bind() 等方法更改 this 的上下文。这些方法使用给定的 this 值和参数调用函数。 JavaScript 是一门优秀的编程语言。几年前,这句话可

jQuery是一个很棒的JavaScript框架。但是,与任何图书馆一样,有时有必要在引擎盖下发现发生了什么。也许是因为您正在追踪一个错误,或者只是对jQuery如何实现特定UI感到好奇

该帖子编写了有用的作弊表,参考指南,快速食谱以及用于Android,BlackBerry和iPhone应用程序开发的代码片段。 没有开发人员应该没有他们! 触摸手势参考指南(PDF) Desig的宝贵资源


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

Dreamweaver Mac版
视觉化网页开发工具

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

螳螂BT
Mantis是一个易于部署的基于Web的缺陷跟踪工具,用于帮助产品缺陷跟踪。它需要PHP、MySQL和一个Web服务器。请查看我们的演示和托管服务。

Atom编辑器mac版下载
最流行的的开源编辑器

记事本++7.3.1
好用且免费的代码编辑器