Node.js躬行记(21)——花10分钟入门Node.js

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Node.js躬行记(21)——花10分钟入门Node.js

Node.js 不是一门语言,而是一个基于 V8 引擎的运行时环境,下图是一张架构图。


  

  由图可知,Node.js 底层除了 JavaScript 代码之外,还有大量的 C/C++ 代码。

  常说 Node.js 是单线程的,但这个单线程是指处理 JavaScript 的主线程是单的,像 I/O 任务都是多线程处理的。


一、准备


  要开发 Node.js 应用,首先需要下载安装 Node.js,点击下一步下一步就可完成。


  


  值得一提的是,在官网中,还配套了一份 50 多篇的入门教程,每篇都不长,蛮通俗易懂的,可以阅读一下。

  然后需要一个编辑器,IDE编辑器(例如 VS CodeWebStream),或者是带语言着色的文本编辑器(例如 CotEditor)都可以,看个人喜好。

  写完一个简单的脚本文件后,触发命令 node xx.js 就能运行了。

  Node.js 在国内有个著名论坛 CNode,其中有许多优秀的 Node.js 资料可供参考。

  目前的前端开发肯定会涉及到工程化,所以或多或少需要 Node.js 环境,用 npm 命令下载或管理包。

  但是如果要开发实际应用,那么就得需要了解 Node.js 的模块。


二、模块


  Node.js 赋予了 JavaScript 很多没有的能力,例如读写文件、发起跨域的网络请求、连接数据库等。

  前端边界因 Node.js 变得很广,一个前端也可以做后端的工作,俗称全栈工程师。

  在阅读 Node.js 的官方文档时,就会发现内容很详尽,很多细节都会讲到。

  只是没有上下文语境,缺乏代入感,有时候文档读起来就比较晦涩。

  进入到官方文档后,在左边的菜单栏中有 60 多个选项,直接读的话,会让人睡着。

  一般的话,可以配合其他教程,然后将官方文档作为参考资料,当遇到不太明白的地方,再有针对性的浏览,效果会更佳。

  本文推荐几个常用的模块,包括 fs文件模块http协议模块path路径模块global全局变量module模块化

  日常项目开发中肯定会涉及到上述一个或多个模块。


三、框架


  真正项目开发时,很少需要从零开始,选择成熟的框架主要就是为了提升工作效率。

  市面上的框架有很多,例如 ExpressKOAegg.jsNext.jsNuxt.js 等,这些框架都有对应的中文文档。

  以我公司为例,选择的是 KOA 框架,这是一个短小精悍的框架,源码只有 4 个文件。

  虽然简单,但扩展性很高,可以通过中间件的形式加载进来,例如路由、日志、权限验证、JWT认证等。

  在将开发环境搭建好后,还得布置单元测试,框架都能集成单元测试,只要简单的配置即可。

  在 Node.js 中,有很多单测框架可供选择,例如 MochaJest等,断言库包括 Chaiassert 断言模块等。

  接口测试有 SuperTest,测试替身库有 Sinon,可以模拟数据库读记录。


四、数据库


  开发 Node.js 的项目,离不开数据库的处理。常用的数据库有 MySQLMongoDB

  MySQL 官方给出的可视化操作工具是 Workbench,MongoDB 官方给出的可视化操作工具是 Compass

  直接用 Node.js 作为项目持久层的并不多,很多时候都是作为数据中间层的角色存在。

  因此,对数据库的处理并不是很复杂,常用的也就是增删改查,其中删除很少是物理删除,基本都是改个状态。

  以 MySQL 为例,常用的就是下面三类 SQL 语句。

select * from table where id = 1;
update table set name = 'strick' where id = 1;
insert into table(name) values ('strick');

  当然,在日常开发中不需要手写拼接 SQL 语句,既为了安全,也是为了可维护。

  所以就需要常用的 ORM(对象关系映射),例如 MySQL 的 Sequelize,MongoDB 的 mongoose

  至此,开发一个常规 Node.js 应用所需的知识储备,已全部涉及到,接下来就是熟能生巧的过程了。

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
Web App开发 JavaScript 前端开发
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念
Node.js 是一种基于 Chrome V8 引擎的后端开发技术,以其高效、灵活著称。本文将介绍 Node.js 的基础概念,包括事件驱动、单线程模型和模块系统;探讨其安装配置、核心模块使用、实战应用如搭建 Web 服务器、文件操作及实时通信;分析项目结构与开发流程,讨论其优势与挑战,并通过案例展示 Node.js 在实际项目中的应用,旨在帮助开发者更好地掌握这一强大工具。
46 1
|
18天前
|
存储 JavaScript NoSQL
Node.js新作《循序渐进Node.js企业级开发实践》简介
《循序渐进Node.js企业级开发实践》由清华大学出版社出版,基于Node.js 22.3.0编写,包含26个实战案例和43个上机练习,旨在帮助读者从基础到进阶全面掌握Node.js技术,适用于初学者、进阶开发者及全栈工程师。
46 9
|
1月前
|
移动开发 前端开发 JavaScript
前端实训,刚入门,我用原生技术(H5、C3、JS、JQ)手写【网易游戏】页面特效
于辰在大学期间带领团队参考网易游戏官网的部分游戏页面,开发了一系列前端实训作品。项目包括首页、2021校园招聘页面和明日之后游戏页面,涉及多种特效实现,如动态图片切换和人物聚合效果。作品源码已上传至CSDN,视频效果可在CSDN预览。
44 0
|
1月前
|
JSON JavaScript 前端开发
使用JavaScript和Node.js构建简单的RESTful API
使用JavaScript和Node.js构建简单的RESTful API
|
1月前
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
26 1
JavaScript中的原型 保姆级文章一文搞懂
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
105 2
|
29天前
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
18 0
|
5月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
152 4