初识Nodejs

1.什么是Nodejs

Node.js是一个基于Google Chrome的V8引擎的JavaScript运行环境,用于在服务器端运行JavaScript代码。

Node.js使用事件驱动、非阻塞I/O模型,使其轻量且高效,非常适合构建实时和网络应用。Node.js的核心特性包括其高效性、跨平台性(可在WindowsLinuxMac OS等多个平台上运行)、模块化设计,以及轻量级的核心代码,这些特性使得Node.js能够轻松处理大量并发连接,快速启动并运行网络应用程序。

虽然JavaScript最初设计用于Web前端开发,但Node.js的出现使其成为服务器端编程的一种流行选择,可以与PHPPythonPerlRuby等服务端语言相媲美。Node.js不仅限于JavaScript语言本身,还包含了一个丰富的生态系统,通过npm(Node Package Manager)可以访问数百万行第三方代码和工具。

Node.js官网:Node.js — Run JavaScript Everywhere

2.Node.js中的Js运行环境

注意:

1.浏览器是javaScript的前端运行环境

2.Node.js是JavaScript的后端环境

3.Node.js中无法调用DOM和BOM等浏览器内置API

3.Node.js可以干什么

Node.js作为一个JavaScript的运行环境,提供了基础的功能和API。然而,基于Node.js提供的基础,很多强大好用的工具和工具却是跌浪而出,所以学会了Node.js,可以让我们去面向更加广阔的生态:

1.基于Express框架(http://www.expressjs.com.cn/),可以快速构建Web应用,开发者可以根据需求用Express自定义和拓展。

2.基于Electron框架(https://www.electronjs.org/),可以构建跨平台的桌面应用

3.基于restify框架(http://restify.com/),可以快速构建API接口项目

4.基于Koa框架(https://koa.bootcss.com),更小允许放弃回调,并通过利用异步函数来处理错误

5.基于Hapi框架(https://hapi.dev),用于开发可伸缩 Web 应用程序

6.读写和操作数据库,创建实用的命令行工具辅助前端开发,等.....

4.Node.js怎么学

浏览器中JavaScript学习路径:

JavaScript基础语法+浏览器内置API(DOM+BOM)+第三方库(JQuery、art-template等)

Node.js学习路径:

JavaScript基础语法+Node.js内置API模块(fa、path、http、cors等)+第三方API模块(express、mysql等)

5.Node.js环境安装

通过官网安装,官网见上面

区分LTS版本和Current版本

1.LTS为长期稳定版,对于追求稳定性和企业级项目来说,推荐安装LTS版本的Node.js

2.Current为新特性测试版,对于追求新特性的用户来说,推荐安装Current版本的Node.js。但是,Current版本可能存在隐藏BUG或安全漏洞。

查看已安装Node.js版本号

打开终端,在终端输入命令node -v后,按回车键,即可查看已安装的Node.js版本号。

Windows快速打开终端:

使用快捷键(Window徽标键+R)打开运行面板,输入cmd直接回车,即打开终端

什么是终端

终端(英文:Terminal)是专门为开发人员设计的,用于实现人机交互的一种方式。

常用的有:

Win+R+输入cmd打开的CMD终端

Shift+鼠标右键+点击打开Power终端的Windows PowerShell

常用快捷键

1.向上箭头键,可以快速定位到上一次执行的命令

2.Tab键,能够快速补全路径

3.Esc键,能够快速清空当前已输入命令

4.输入cls,可以清空终端

6.Express

相关了解可见安装 Express - Express中文文档 | Express中文网 (expressjs.com.cn)Express 框架简介 - JoeYoung - 博客园 (cnblogs.com)

Express框架是一个基于Node.js的Web应用开发框架,具有以下主要功能:

  1. 路由管理:Express框架提供了简单易用的路由功能,可以通过定义不同的路由来处理不同的请求。

  2. 中间件支持:Express框架支持中间件机制,可以在请求和响应之间执行一系列的中间件函数,用于处理各种请求和响应的逻辑。

  3. 模板引擎:Express框架支持多种模板引擎,如EJS、Pug、Handlebars等,用于渲染动态的HTML页面。

  4. 静态文件服务:Express框架可以快速设置静态文件的访问路径,方便提供静态文件如图片、CSS和JavaScript等的访问。

  5. 数据库集成:Express框架可以与各种数据库进行集成,如MongoDB、MySQL等,方便进行数据的存储和查询。

  6. 错误处理:Express框架提供了错误处理中间件,可以捕获和处理应用程序中发生的错误,避免应用程序崩溃。

  7. 扩展性和灵活性:Express框架具有高度的扩展性和灵活性,可以通过使用中间件和插件来扩展和定制框架的功能。

7.Electron

Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发经验。

Electron基于Node.js和Chromium,它将Node.js的服务器端JavaScript运行时环境和Chromium的Web渲染引擎结合在一起,提供了一种构建原生桌面应用程序的方法。使用Electron,开发人员可以使用Web技术来构建具有原生应用程序功能的应用程序,例如窗口管理、菜单、对话框、系统托盘、本地文件系统访问和网络访问等。

相关了解可见Electron是什么? (biancheng.net)简介 | Electron (electronjs.org)

1. Electron 开发效率高

相较于基于 C++ 库开发桌面软件来说,基于 Electron 开发更容易上手且开发效率更高。由于 JavaScript 语言是一门解释执行的语言,所以 C++ 语言固有的各种问题都不再是问题,比如:

  • C++ 没有垃圾回收机制,开发人员要小心翼翼地控制内存,以免造成内存泄漏;
  • C++ 语言特性繁多且复杂,学习难度曲线陡峭,需要针对不同平台进行编译,应用分发困难。

使用 Electron 开发桌面应用就不用担心这些问题。

2. Electron 执行效率高

在执行效率上,如果前端代码写得足够优秀,Electron 应用完全可以做出与 C++ 应用相媲美的用户体验,Visual Studio Code 就是先例。

另外,Node.js 本身也可以很方便地调用 C++ 扩展,Electron 应用内又包含 Node.js 环境,对于一些音视频编解码或图形图像处理需求,可以使用 Node.js 的 C++ 扩展来完成。

3. Electron 立足于 JavaScript 生态

随着 Web 应用大行其道,Web 前端开发领域的技术生态足够繁荣。Electron 可以使用几乎所有的 Web 前端生态领域及 Node.js 生态领域的组件和技术方案。截至本文发布时,发布到 npmjs.com 平台上的模块已经超过 90 万个,覆盖领域广,优秀模块繁多且使用非常简单方便。

4.无需考虑兼容性问题

在完成 Web 前端开发工作时,开发者需要考虑很多浏览器兼容的问题,比如:用户是否使用了低版本的 IE 浏览器,是否可以在样式表内使用 Flexbox(弹性盒模型)等。这些问题最终会导致前端开发者束手束脚,写出一些丑陋的兼容代码以保证自己的应用能在所有终端表现正常。

但由于 Electron 内置了 Chromium 浏览器,该浏览器对标准支持非常好,甚至支持一些尚未通过的标准,所以基于 Electron 开发应用不会遇到兼容问题。开发者的自由度得到了最大化保护,你可以在 Electron 中使用几乎所有 HTML5、CSS3、ES6 标准中定义的 API。

5.Electron 可以使用操作系统接口

另外,Web 前端受限访问的文件系统、系统托盘、系统通知等,在 Electron 技术体系下均有 API 供开发者自由使用。

8.restify

相关可见Restify快速上手-CSDN博客Restify 基于 Node.js 构建 REST 服务 - 文章教程 - 文江博客 (wenjiangs.com)

Restify 是 Node.js 的模块。虽然 Restify 的 API 或多或少的参考了 Express,但 Restify 不是一个 MVC 框架,它是一套为了能够正确构建 REST 风格 API 而诞生的框架。

它的特点有:为构建语义正确的RESTful web服务进行了优化,可供大规模生产使用;对内省和性能进行了优化;它与HTTP动作、循环请求和响应直接协调工作;为DTrace提供自动支持;提供了到Web和客户端组件的双向通信,可以帮助广播和存储数据;可以立即系统地处理错误等。

9.Koa

相关可见Koa | Koa中文文档 | Koa中文网 (koajs.net)koa入门 - 廖雪峰的官方网站 (liaoxuefeng.com)Koa 框架教程 - 阮一峰的网络日志 (ruanyifeng.com)

Koa.js是由构建Express.js的开发人员设计的,它提高了Web应用程序的质量和错误管理。它的特点有:可用于开发潜在的基于Web的应用程序和API;带有更多的自定义选项;允许使用生成器;供了一个很好的错误处理系统;核心中没有打包任何中间件;支持 async/await 关键字等。

10.Hapi

相关可见hapi 中文教程——迹忆客 (jiyik.com)快速入门 - 《Hapi.js v17 开发手册》 - 书栈网 · BookStack

Hapi.js是Web应用程序的开源框架,也是服务器框架。它设计了与Express.js类似的体系结构,并着重于编写更少的代码。它的特点有:以最小的开销和完整的现成功能帮助构建强大的可扩展应用程序;为用户提供路由,I/O验证和缓存;提供强大的插件网络;允许用户将其与MySQL,MongoDB和Postgres结合使用等。

  • 18
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值