【易客吧】_全网激活码总代_激活码商城

您现在的位置是:首页 > 热门资讯 > 正文

热门资讯

探索 Node.js 生态系统:从包管理到开发框架 (探索农场)

用户投稿2024-04-18热门资讯29

概述

Node.js 是一个开源的 JavaScript 运行时环境,用于构建服务器端和网络应用程序。在过去几年中,Node.js 生态系统蓬勃发展,产生了许多有价值的工具和框架。本文将带你探索 Node.js 生态系统,涵盖包管理、Web框架、API 框架和一些流行的辅助工具。

包管理

包管理是 Node.js 生态系统的重要组成部分。它允许你安装、更新和删除软件包,从而简化了开发过程。下面是三个流行的 Node.js 包管理器:

npm

npm 是官方的 Node.js 包管理器。它由 npm 公司开发和维护,拥有世界上最大的 JavaScript 包集合。

Yarn

Yarn 是一个更快的包管理器,它以其可靠性和离线包缓存等功能而闻名。

pnpm

pnpm 是一个较新的包管理器,重点关注性能和安全性。它使用硬链接来避免重复安装,并具有内置的权限管理功能。

Web 框架

Node.js Web 框架提供了构建和维护 Web 应用程序所需的结构和功能。下面列出了一些最流行的选项:

Express.js

Express.js 是一个轻量级且灵活的 Web 框架,专注于速度和简单的 API。

Koa.js

Koa.js 是 Express.js 的一个替代品,它提供了一组更健壮和更可扩展的功能。

Fastify

Fastify 是一个高性能 Web 框架,专注于极低u003eNode.js 生态系统是一个不断发展和丰富的集合,其中包含各种工具和框架。从包管理到 Web 框架和辅助工具,Node.js 生态系统为构建健壮、可扩展和可维护的应用程序提供了强大的基础。选择适合你项目的正确工具和框架至关重要。花时间探索生态系统并根据你的具体需求进行选择。通过利用 Node.js 生态系统中提供的丰富资源,你可以构建强大的应用程序,满足现代 Web 开发的挑战。

如何选择Node.js Web开发框架

非常适用于Web开发,但是现在无论是一个网站,还是Web App都已经成为包括很多不同部分,如前端、数据库、业务模块、功能模块等等的大型项目,使用从零开始进行Web开发,也许大中型团队能够 胜任,但对于个人和小型团队来说是不现实的。 这时候框架就成为Web开发利器,对于个人开发来说几乎是必不可少。 那么如何选择 Web开发框架呢?首先,我们必须要弄清楚的是,我们需要的是——程序 or 框架?程序是已经成型的应用,你需要的是为它搭建环境、添加配置,然后就可以运行起来;框架则是应用的骨架,你需要为它添加数据模型、业务逻辑,它才能成为应用,开始提供服务。 事实上,对于Web开发来说,程序和框架的区别正越来越模糊,比如几乎妇孺皆知的Wordpress,它是一个博客程序,但它丰富的插件以及高度的 自定义能够支持很大程度上的二次开发,在这点上它比起一些PHP框架也并不逊色。 我个人认为,如果重心在于提供服务而不是掌握技术,有WordPress 这样的程序是没有必要使用框架的。 可惜的是,由于Nodejs还很年轻,目前还没有WordPress这样的程序,因此目前在开发里,如果想做出自己想要的作品,框架是必然的选择。 如果是某些特定类型的应用,可以尝试一些开源的程序,比如要用Nodejs做博客,有Hexo、Ghost等。 Web框架有哪些?里的Web框架分为API框架和Web应用框架。 前者能够开发出RESTful的API,后者也能开发出RESTful API,但还包括模板、渲染等为前端所准备的功能。 API框架的使用场景是为跨平台应用提供统一的数据模型,而渲染由前端/客户端自行解决。 目前比较知名的API框架有restify(文档、Github、NPM)(官网、Github、NPM)LoopBack(官网、Github、NPM)Frisby(官网、Github、NPM)(官网、Github、NPM)Web应用框架顾名思义,就是为了打造Web应用所开发的框架。 这里有两种风格的Web应用框架。 一个是Sinatra风格,另一个是Rails风格。 Sinatra和Rails都是Ruby语言的Web框架,后者的影响力更大也更为知名。 这里简单的解释一下两种风格是什么意思。 Sinatra风格是指高度可配置,注重开发的自由度。 代表性的Nodejs Web框架有:Express(官网、Github、NPM)TJ大神开发,官方推荐 hapi(官网、Github、NPM)(官网、Github、NPM)flaliron(官网、Github、NPM)(官网、Github、NPM)locomotive(官网、Github、NPM)Rails风格则是指不重复自己和约定优于配置,以及严格遵循MVC结构开发。 代表性的框架有(官网、Github、NPM)geddy(官网、Github、NPM)CompoundJS(官网、Github、NPM) 原railswayjs这两种风格无所谓谁优谁劣,全凭使用者的偏好。 而在这两种Web框架之外,还有更大型的框架,即全栈框架,其中的代表是MEAN。 MEAN?MEAN指MongoDB+Express++,这一组合包括运行环境、数据库、Web框架和前端引擎。 被称为 全栈框架(Full-stack framework)。 这其中除了之外,每一个都是可替换的,目标是创建从前端到后端,全部使用javascript的Web应用。 由于这一框架的完善性,有人将其称为LAMP的接班人。 LAMP即PHP的典型运行环境,Linux+Apache+MySql+PHP,被大量的用于各种虚拟主机上。 MEAN看似庞大,但事实上要构建完整的现代化Web应用,特别是SPA(单页面应用),这几个组件都是难以缺少的,并且,其中每一项几乎都是目前 情况下的最佳选择,因此用于学习和重头开始打造新的Web应用是非常合适的。 但由于实际业务的独特性,很可能要替换其中的组件,比如用Mysql来替换 MongoDB,因此,学习其中的原理和架构,打造自己的类MEAN框架也是一种选择。 作为个人和小团队来说,全栈框架MEAN基本上足够了,但目前大多数全栈框架还包含一项特性,那就是实时,拥有实时功能的框架我们又称为实时框架。 实时框架好吗?实时框架(Real-time framework)指包含了webSocket的双向通信功能,能够在服务器和客户端做到实时通信的框架。 服务端和客户端自由通信的需求一直都在,但由于HTTP协议本身的局限性,因此催生了Comet等变通的方法,但即使这样也离实时相距甚远。 而当 兴起后,另一个HTML5技术webSocket也渐渐成熟,人们突然发现,实时通信一下子变得触手可及,于是webSocket技术在 中得到大量的应用,其中最为知名的模块就是,而各种全栈框架也纷纷加入实时特性来应对更广阔的开发需求。 目前有代表性的实时框架有:Meteor(官网、Github、NPM)(官网、Github、NPM)Derby(官网、Github、NPM)SocketStream(官网、Github、NPM)不过说实话,目前能看到的实时通信的应用场景其实不多,其中大多集中于聊天室、to-do、实时图表、在线游戏等领域。 其他领域使用实时特性不但没必要,而且是对服务器资源的浪费。 因此目前是否要采用实时框架,要看具体的项目而定。 以上基本就是 Web框架的现状了,相信看到这里,对于选择何种框架读者已经心里有数了吧。 最后再介绍一个容易搞混的概念,和解释一下我的选择。 YEOMAN?第一次见到这个词,我还以为它和MEAN有什么联系。 事实上,它们是截然不同的两个东西。 YEOMAN由YO(脚手架)、grunt(构建工具)、bower(包管理器),它代表的是一种工作流,与框架开发的思维方式完全不同。 具体的介绍可见这里。 YEOMAN能够和框架达到类似的目的,都是为构建一个Web应用做好准备,但是要不要采用YEOMAN,则是见仁见智。 我个人的看法是,学习 YEOMAN本身就需要不少时间,并且有一定的学习门槛。 至少在目前,使用框架开发还是相对经济的,而如果以后YEOMAN这种模式推广开来,再来学习也 不迟,更何况有一定的项目经验之后再来学习YEOMAN要轻松很多。 事实上,我还是很认可YEOMAN这种Generator+package Manager的模式的,这是因为本身崇尚微模块的 概念,即无论是多么小的功能,都将它们模块化,甚至大的模块也要拆分成小的模块,然后通过搭积木的方式来构建应用。 这样能够彻底的解耦,对于不容易调试的 Javascript来说,也有助于定位和修复应用中的问题。 Generator就是这种理念催生下的产物,通过选择不同的配置和选项,将积木搭起来。 不 过对于这种模式目前大家也还处于实验当中,不急于进行实际应用。

如何来搭建Node.js开发环境

MacOSX下开发环境的搭建。

1.介绍

是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行的数据密集型的实时应用。

node是一个Javascript运行环境(runtime)。实际上它是对Google V8引擎进行了封装。V8引 擎执行Javascript的速度非常快,性能非常好。Node对一些特殊用例进行了优化,提供了替代的API,使得V8在非浏览器环境下运行得更好。

2.搭建环境

使用NVM来安装和管理版本。在Terminal中输入:

brew install nvm

修改~/_profile文件,添加如下:export NVM_DIR=~/ $(brew --prefix nvm)/

重启Terminal,此时可以使用nvm来安装。

3.开发

3.1.一个简单的程序。

新建文件:

在Terminal中执行node ,使用浏览器访问,实现一个简单的http服务器。

探索 Node.js 生态系统:从包管理到开发框架 (探索农场) 第1张

3.2.使用Express框架开发应用

使用npm命令来管理的依赖包。在Terminal中输入npm help来查看相关命令。由于npm默认使用国外源,在国内被墙导致访问速度很慢。可以使用taobao的npm镜像来代替。

npm常用命令如下:

express是基于 平台,快速、开放、极简的 web 开发框架。

安装完成后,新建express项目,在Terminal中输入:

浏览器中输入访问项目。

监督者工具

在开发程序,调试的时候,无论你修改了代码的哪一部分,都需要重启服才能生效。这是因为 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入。的这种设计虽然有利于提高性能,却不利于开发调试,因为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启 .其原理就是监听文件的改变,一旦改变,则重启服务。

安装supervisor

3.4.开发工具

如何在Ubuntu14.04服务器上安装NodeJS

一、NodeJS介绍是一个让开发者可以快速创建网络应用的服务器端JavaScript平台,同时运用JavaScript进行前端与后端编程,开发者可以更专注于系统的设计以及保持其一致性。 在这篇文章中,我们将向您介绍如何在Ubuntu14.04服务器上开始您的神奇之旅。 二、如何安装发行稳定版的 14.04为了保证跨平台服务体验的一致性,在它的仓库中默认包含了一个版本为0.10.25的,这个可能不是最新版本,但是却一定是标准发行版本。 要想获取这个版本的,我们只要通过apt包管理工具来安装就可以。 在安装之前,最好先更新一下apt包管理工具的本地索引,然后再从Ubuntu仓库中安装。 sudo apt-get updatesudo apt-get install nodejs如果Ubuntu软件仓库中的包正好是你所需要的,那么上述步骤就是在Ubuntu10.04下安装的全部操作过程。 大多数情况下,我们还希望也安装一份的包管理工具:npm,您可以通过以下命令安装:sudo apt-get install npmNPM将让使得安装的模块或者源码包变得非常简单。 在您运行的时候请一定要注意,因为与别的工具包相冲突的原因,Ubuntu仓库中可执行的名字是nodejs而不是node。 下面,我们将讨论更多种灵活的安装方式。 三、如何通过PPA来安装?一个让你可以保持获得最新版本的替代方案是加入由NodeSource维护的PPA(Personal Package Archive)私有包档案。 这个方式可以让你获得比Ubuntu仓库更多的版本。 首先:你得安装PPA以获得访问它内容的权限。 curl -sL| sudo bash -通过上面的命令,PPA将加入到您的系统配置中,并且自动的更新您的本地包缓存,安装完成之后,您可以像之前一样通过apt-get来安装。 solo apt-get install nodejs这里的nodejs安装包包含了nodejs二进制执行文件以及npm可执行文件,所以您无须另外安装npm,然而,为了使一些NPM包能正常工作(比如那些需要多源代码编译的包),你还需要安装build-essentials包。 sudo apt-get install build-essential四、如何使用NVM来安装?还有一种使用apt来安装的替代方案是使用一个特别设计的工具叫NVM,它的标准叫法是版本管理工具( Version manager)。 使用NVM,您可以安装多个可方便控制的独立环境,它将给您最新版本的请求权限,但也将允许你根据APP的需要而使用旧版本的。 在开始之前,我们需要从Ubuntu仓库中先安装一些依赖包,NVM将利用这些工具来编译需要的组件:sudo apt-get updatesudo apt-get install build-essential libssl-dev一旦这些依赖包安装完成,您可以通过NVM的GitHub项目主页将安装脚本下载下来。 版本号可能不尽相同,但是正常来说你可以通过以下方式来下载和安装:curl| sh上面的命令将下载并且运行安装脚本,安装脚本将把软件安装到你home目录的~/目录下,同时也会在~/加入必要的配置。 为了使~/的配置生效,您可能需要退出并重新登录您的账户,当然,也可以通过source命令来重新导入~/的配置:source ~/现在你已经安装了NVM,你可以安装的各个独立版本。 为了找出当前的可安装版本,你可以敲入以下命令:nvm ls-remote回车可能会显示如下内容:. . . v0.11.6 v0.11.7 v0.11.8 v0.11.9v0.11.10v0.11.11v0.11.12v0.11.13如你所见,当前的最新可安装版本是v0.11.13,你可以通过如下命令安装这个版本的程序:nvm install 0.11.13通常情况下,NVM会自动切换到最新安装的版本,你可以通过以下命令告诉NVM指定使用已经安装的版本:nvm use 0.11.13当你使用NVM安装,它的可执行名称是node,通过以下信不信你可以知道当前所使用的版本:node -v显示:v.0.11.13如果你安装了多个版本的,你可以通过以下命令列出已安装版本:nvm ls如果你想把其中一个版本设置为默认的版本,你可以这样:nvm alias default 0.11.13现在当一个请求发生时,0.11.13这个版本将自动被选择,您也可以通过这样的别名引用它:nvm use default每个版本都将保持其独立的模块和包,并且通过独立的NPM来管理它们,你可以使用NPM的普通模式来为项目安装独立的第三方包,它将安装到的./node_modules目录下:npm install express如果你想将第三方包安装成全局模式(将与其它使用同一个版本的项目共用),那么通过使用-g参数就可以实现:npm install -g express这个时候包将安装到下面这个目录:~//node_version/lib/node_modules/package_name全局模式安装的包将只允许你在命令行下使用,如果你想在在本地项目中使用,你还需要将它连接进来:npm link express如果需要帮助,你可以通过以入命令获取帮助:npm help

若对本页面资源感兴趣,请点击下方或右方图片,注册登录后

搜索本页相关的【资源名】【软件名】【功能词】或有关的关键词,即可找到您想要的资源

如有其他疑问,请咨询右下角【在线客服】,谢谢支持!

探索 Node.js 生态系统:从包管理到开发框架 (探索农场) 第2张

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~
欢迎你第一次访问网站!