余晖落尽暮晚霞,黄昏迟暮远山寻
本站
当前位置:网站首页 > 编程知识 > 正文

了解Node.js-to-Angular 套件组件(angular组件开发)

xiyangw 2022-11-25 11:54 31 浏览 0 评论

Node.js-to-Angular套件最常见的,并且我们相信也是最好的版本是包括MongoDB、Express、Angular和Node.js 的Node.js-to-Angular 套件。

在Node.js-to-Angular 套件中,Node.js 提供了开发的基础平台。后端服务和服务器端脚本都是用Node.js 编写的。MongoDB 提供了网站的数据存储,但通过一个MongoDB驱动Node.js 模块进行访问。Web 服务器是通过Express 定义的,这也是一个Node.js 的模块。

在浏览器中的视图使用Angular 框架定义和控制。Angular 是一个MVC 框架,在该框架中的模型由JSON 或JavaScript 对象组成,视图是HTML/CSS,而控制器由AngularJavaScript 组成。

上图提供了一个基本的图示,它显示Node.js-to-Angular 套件是如何适合基本的网站/Web 应用模型的。以下各节描述每种技术,以及它们被选为Node.js-to-Angular 套件的一个组成部分的原因。

1 Node.js

Node.js 是一个基于谷歌的V8 JavaScript 引擎的开发框架。因此,Node.js 代码是用JavaScript 编写的,然后由V8 编译为机器码供执行。

你可以用Node.js 编写许多后台服务、服务器端脚本和任何支持Web 应用程序的功能。Node.js 的好处是它各部分都只包含JavaScript,因此,可以方便地从客户端脚本提取功能,然后将其放置到服务器端脚本中。此外,Web 服务器可以在Node.js 平台上作为一个Node.js的模块直接运行,这意味着它比使用其他软件,比方说,Apache 连接新服务或服务器端脚本要更容易。

Node.js 之所以是一个出色的启动框架,有下面几个原因。

  • JavaScript 端到端:Node.js 的一个最大优点是,它可以让你用JavaScript 同时编写服务器端和客户端脚本。决定把脚本逻辑放置于何处,一直是一件困难的事情。在客户端放太多东西会使客户端变得烦琐而又笨拙,而在服务器端放太多东西又会拖慢Web 应用并使Web 服务器不堪重负。利用Node.js,你可以在客户端上编写JavaScript,并轻松地在服务器上适应它,反之亦然。而且,客户端的开发者和服务器的开发者使用同一种语言。
  • 事件驱动的可伸缩性:Node.js 应用不同的逻辑来处理Web 请求。处理Web 请求时,这些请求都在同一个线程上采用一种基本的事件模型被处理,而不是让多个线程等待处理。这使得Node.js Web 服务器可以用传统的Web 服务器永远不能的方式进行扩缩。
  • 可扩展性:Node.js 有很多的追随者和一个活跃的开发社区。人们正在不断提供新的模块来扩展Node.js 的功能。此外,在Node.js 中安装和包含新的模块是非常简单的,你可以在几分钟内扩展Node.js 的项目来包含新的功能。
  • 快速执行:建立Node.js,并在其中开发是超级容易的。在短短几分钟内就可以安装Node.js,并拥有一个能工作的Web 服务器。

2 MongoDB

MongoDB 是一个灵活的和可伸缩的NoSQL 数据库。Mongo 这个名字来自单词“堆积如山”(humongous)。它基于NoSQL 文档存储模型,这意味着数据在数据库中作为JSON 对象形式被存储,而不是作为关系数据库中传统的列和行存储。

MongoDB 为需要存储诸如用户评论、博客或其他项目数据的高流量的网站提供了出色的网站后端存储,因为它是快速、可伸缩和易于实现的。本书介绍了使用MongoDB 的驱动程序库从Node.js 访问MongoDB。

Node.js 支持多种数据库访问驱动程序,因此数据很容易用MySQL 或其他数据库来存储。但是,下面是MongoDB 真正适合于Node.js 套件的一些原因。

  • 针对文档:因为MongoDB 是针对文档的,数据在数据库中存储的格式接近于你将在服务器端和客户端脚本中处理它们的格式。这消除了把数据从行转换为对象和转换回来的需要。
  • 高性能:MongoDB 是目前性能最高的数据库之一。尤其是在现在,当有越来越多的人与网站进行交互时,具有能够支持大流量的后端是很重要的。
  • 高可用性:MongoDB 的复制模型使得它容易维护可伸缩性,同时又保持高性能。
  • 高可伸缩性:MongoDB 的结构使得它可以很容易地通过在多个服务器上对数据共享实现水平伸缩。
  • 无SQL 注入:MongoDB 是不容易受到SQL 注入攻击的(也就是向Web 表单或从浏览器的其他输入中输入SQL 语句,从而危及数据库的安全性)。这是因为对象被存储为对象,不使用SQL 字符串。

3 Express

Express 模块在Node.js-to-Angular 套件中充当Web 服务器。它运行在Node.js 中,使得其很容易配置、实现和控制。Express 模块扩展了Node.js,它提供几个关键组件来处理Web 请求。这可以让你用短短几行代码实现在Node.js 中运行的Web 服务器。

例如,Express 模块为使用者提供轻松设置连接到目的地的路径(URL)的功能。它也在处理HTTP 请求和响应对象,包括在处理像cookie 和HTTP 标头的方面提供强大的功能。

以下是Express 有价值的功能的部分列表。

  • 路由管理:Express 可以很容易地定义直接绑在服务器上的Node.js 脚本功能的路由(URL 端点)。
  • 错误处理:Express 为“未找到文件”等错误提供了内置的错误处理。
  • 易于集成:一个Express 服务器可以很容易地在现有的反向代理系统,如Nginx或Varnish 之后实现。这使它可以轻松地集成到现有的安全系统。
  • cookie:Express 提供了简单的cookie 管理。
  • 会话和缓存管理:Express 也能够进行会话管理和缓存管理。

4 Angular

Angular 是由谷歌开发的客户端框架。Angular 提供处理用户在浏览器中的输入,操纵客户端上的数据,并控制如何在浏览器视图上显示元素所需要的所有功能。它是用TypeScript 编写的。Angular 背后的理论是提供一个框架,使得可以很容易地实现使用MVC框架的Web 应用程序。

也可以在Node.js 平台上使用其他JavaScript 框架,如Backbone、Ember 和Meteor。然而,Angular 拥有在写作本书之际最好的设计、功能集和轨迹。下面是Angular 的一些好处。

  • 数据绑定:Angular 利用其强大的范围机制,有一个将数据绑定到HTML 元素的非常干净的方法。
  • 可扩展性:Angular 架构允许你轻松地扩展语言的各个方面,以提供你自己的自定义实现。
  • 整洁:Angular 迫使你编写整洁的、合乎逻辑的代码。
  • 可重用代码:可扩展性和简洁代码的结合,使得易于用Angular 编写可重用的代码。事实上,在创建自定义服务的时候,该语言往往迫使你这样做。
  • 支持:谷歌正把大量资金投入这个项目,这使得它比那些已失败的类似举措更具优势。
  • 兼容性:Angular 基于TypeScript。这使得开始整合Angular 到你的环境和重用在Angular 框架结构内的现有代码片段都更容易。

本文选自新书《Node.js+MongoDB+Angular Web开发:MEAN全栈权威指南》,电子工业出版社10月出版,本书详情请点击下方了解更多

本书始于对每种技术都提供简洁、清晰的教程,然后迅速转向建立实用的Web应用程序。你将学习如何使用Node.js和MongoDB构建更具可伸缩性的高性能站点,以及如何利用Angular的创新MVC方法构建更有效的页面和应用程序,以及如何综合这三个利器共同实现出色的下一代Web解决方案。

相关推荐

辞旧迎新,新手使用Containerd时的几点须知

相信大家在2020年岁末都被Kubernetes即将抛弃Docker的消息刷屏了。事实上作为接替Docker运行时的Containerd在早在Kubernetes1.7时就能直接与Kubelet集成使...

分布式日志系统ELK+skywalking分布式链路完整搭建流程

开头在分布式系统中,日志跟踪是一件很令程序员头疼的问题,在遇到生产问题时,如果是多节点需要打开多节点服务器去跟踪问题,如果下游也是多节点且调用多个服务,那就更麻烦,再者,如果没有分布式链路,在生产日志...

Linux用户和用户组管理

1、用户账户概述-AAA介绍AAA指的是Authentication、Authorization、Accounting,即认证、授权和审计。?认证:验证用户是否可以获得权限,是3A的第一步,即验证身份...

linux查看最后N条日志

其实很简单,只需要用到tail这个命令tail-100catalina.out输入以上命令,就能列出catalina.out的最后100行。...

解决linux系统日志时间错误的问题

今天发现一台虚拟机下的系统日志:/var/log/messages,文件时间戳不对,跟正常时间差了12个小时。按网上说的执行了servicersyslogrestart重启syslog服务,还是不...

全程软件测试(六十二):软件测试工作如何运用Linux—读书笔记

从事过软件测试的小伙们就会明白会使用Linux是多么重要的一件事,工作时需要用到,面试时会被问到,简历中需要写到。对于软件测试人员来说,不需要你多么熟练使用Linux所有命令,也不需要你对Linux...

Linux运维之为Nginx添加错误日志(error_log)配置

Nginx错误日志信息介绍配置记录Nginx的错误信息是调试Nginx服务的重要手段,属于核心功能模块(nginx_core_module)的参数,该参数名字为error_log,可以放在不同的虚机主...

Linux使用swatchdog实时监控日志文件的变化

1.前言本教程主要讲解在Linux系统中如何使用swatchdog实时监控日志文件的变化。swatchdog(SimpleWATCHDOG)是一个简单的Perl脚本,用于监视类Unix系统(比如...

syslog服务详解

背景:需求来自于一个客户想将服务器的日志转发到自己的日志服务器上,所以希望我们能提供这个转发的功能,同时还要满足syslog协议。1什么是syslog服务1.1syslog标准协议如下图这里的fa...

linux日志文件的管理、备份及日志服务器的搭建

日志文件存放目录:/var/log[root@xinglog]#cd/var/log[root@xinglog]#lsmessages:系统日志secure:登录日志———————————...

运维之日志管理简介

日志简介在运维过程中,日志是必不可少的东西,通过日志可以快速发现问题所在。日志分类日志分类,对不同的日志进行不同维度的分析。操作系统日志操作系统是基础,应用都是在其之上;操作系统日志的分析,可以反馈出...

Apache Log4j 爆核弹级漏洞,Spring Boot 默认日志框架就能完美躲过

这两天沸沸扬扬的Log4j2漏洞门事件炒得热火朝天:突发!ApacheLog4j2报核弹级漏洞。。赶紧修复!!|Java技术栈|Java|SpringBoot|Spring...

Linux服务器存在大量log日志,如何快速定位错误?

来源:blog.csdn.net/nan1996jiang/articlep/details/109550303针对大量log日志快速定位错误地方tail/head简单命令使用:附加针对大量log日志...

Linux中查看日志文件的正确姿势,求你别tail走天下了!

作为一个后端开发工程师,在Linux中查看查看文件内容是基本操作了。尤其是通常要分析日志文件排查问题,那么我们应该如何正确打开日志文件呢?对于我这种小菜鸡来说,第一反应就是cat,tail,vi(或...

分享几款常用的付费日志系统,献给迷茫的你!

概述在前一篇文章中,我们分享了几款免费的日志服务器。他们各有各的特点,但是大家有不同的需求,有时免费的服务器不能满足大家的需要,下面推荐几款付费的日志服务器。1.Nagios日志服务器Nagio...

取消回复欢迎 发表评论: