热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

node.js初识node.js,运行在服务端的JavaScript(一)

文章目录1.浏览器

文章目录

  • 1.浏览器原理
    • 1.1 浏览器的五部分组成
    • 1.2 渲染引擎(也叫做排版引擎或浏览器内核)
    • 1.3 浏览器访问服务器的过程
    • 1.4 HTTP请求报文和响应报文
  • 2.web开发本质
  • 3.什么是node.js?
  • 4.node.js有哪些特点?
  • 5.安装Node.js
  • 6.传统开发和node.js开发
    • 6.1 传统web开发(PHP、JSP等等)
    • 6.2 node.js开发
  • 7.REPL(Read-Eval-Print-Loop)交互式解释器
  • 8.Javascript文件命名规则
  • 9. node执行js文件
1.浏览器原理

1.1 浏览器的五部分组成

1.人机交互部分(UI界面)
2.网络请求部分(Socket)
3.Javascript引擎部分(负责解释和执行Javascript)
4.渲染引擎部分(渲染HTML,CSS等)
5.数据存储部分(COOKIE,HTML5中的本地存储LocalStorage,SessionStorage)

1.2 渲染引擎(也叫做排版引擎或浏览器内核)

这里详细解释一下渲染引擎,了解知道就好,下面是比较流行的几种渲染引擎:
在这里插入图片描述
渲染引擎的工作原理分4个步骤:

1.解析HTML构建DOM树。
2.构建渲染树,这里的渲染树并不等同于DOM树,像head或者display这样的标签和属性没必要放到渲染树中。
3.对渲染树进行布局,定位坐标和大小,是否还寒,确定position,overflow,z-index等等,该过程为 layout 或者 reflow。
4.绘制渲染树,调用操作系统底层API进行绘图操作。

1.3 浏览器访问服务器的过程

总共是下面10个步骤:

1.在浏览器中输入网址。
2.浏览器通过用户在地址栏中输入的URL构建HTTP请求报文。
3.浏览器发起DNS解析请求,将域名转换成IP地址。
4.浏览器将请求报文发送给服务器。
5.服务器接收请求报文,并解析。
6.服务器处理用户请求,并将处理结构封装成HTTP响应报文。
7.服务器将HTTP相应报文发送给浏览器。
8.浏览器接受服务器响应的HTTP报文,并解析。
9.浏览器解析HTML页面并展示,在解析HTML页面时遇到新的资源需要再次发起请求。
10.最终浏览器展示出了页面。

理解好请求HTTP报文和相应HTTP报文就可以了。

1.4 HTTP请求报文和响应报文

配合两个图,来了解:
在这里插入图片描述
在这里插入图片描述

每一个部分包含不同的信息。

2.web开发本质

一般web都是下面三点一样:

1.请求,客户端发起请求。
2.处理,服务器处理请求。
3.响应,服务器将处理结果发送给客户端。

3.什么是node.js?

node.js首先就是它不是一门语言,而是一个开发平台。

该平台使用的编程语言是Javascript语言。

什么是开发平台?

有对应的编程语言,有该语言的运行时,有特定功能的API(SDK:Software Development Kit)。

node.js可以实现什么功能:

1.可以开发命令行程序、CLI程序(控制台命令程序)
2.借助node-webkit 、electron等框架,来使用node.js构建桌面应用程序。
3.Web应用程序(网站)。

和PHP开发技术栈Lamp、Wamp一样,node.js也有一个全栈开发技术栈: MEAN : MongoDB 、 Express 、 Angular 、 Node.js 。

4.node.js有哪些特点?

1.事件驱动(当事件触发时,执行传递过去的回调函数)。
2.非阻塞 I / O 模型(当执行I / O操作,不会阻塞线程)。
3.单线程(JS本来无论在浏览器端还是服务端都是单线程)。
4.拥有世界最大的开源库生态系统 --》 npm。

5.安装Node.js

官方下载node.js。

注意配置:环境变量配置
这里命令行的工作进程是先找当前目录下的内容,再找环境变量Path下的目录内容。了解一下就行。

安装和配置好后,直接命令行node -v 查看一下版本就行。

通过 nvm-windows [https://github.com/coreybutler/nvm-windows]管理一台计算机的多个node版本,常用命令包括一下:

nvm version
nvm install latest
nvm installl 版本号
nvm uninstall 版本号
nvm list
nvm use 版本号

同样linux也有,nvm(Linux、Unix、OS X)[https://github.com/nvm-sh/nvm]常用命令包括:

nvm install node (安装最新版本的node)
nvm use node (使用指定的node版本)

要先安装nvm,再安装nodejs版本,这样可以避免一下没必要的错误。nvm全称是node version manage。

6.传统开发和node.js开发

6.1 传统web开发(PHP、JSP等等)

传统开发都是需要一个web服务器的,并且静态网页运行和动态网页运行都有一定区别,如下图:

这里web服务器作用是监听端口(默认:8080),处理发送过来的请求和响应浏览器。
在这里插入图片描述

6.2 node.js开发

node.js不需要web服务器,因为它本身就含有服务器的一些功能,也可以说它自己就是web服务器,如下图:

这里nodejs进程本身来监听8080端口。

在这里插入图片描述

7.REPL(Read-Eval-Print-Loop)交互式解释器

REPL,r 读取 ,E 执行,P 打印 ,L 循环。

REPL编写程序和谷歌浏览开发人员工具中的控制台功能差不多。

在终端直接输入node命令进入REPL环境。

退出REPL界面,输入.exit 或 ctrl + C(按两次C键) 。

在这里插入图片描述

8.Javascript文件命名规则

1.不要用中文。
2.不要包含空格。
3.不要出现node关键字。
4.建议以" - " 来分割单词。

9. node执行js文件

直接使用node来执行目录下的js文件就行:
在这里插入图片描述


版权声明:本文为IT_Holmes原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/IT_Holmes/article/details/117518262
推荐阅读
  • Node.js 配置文件管理方法详解与最佳实践
    本文详细介绍了 Node.js 中配置文件管理的方法与最佳实践,涵盖常见的配置文件格式及其优缺点,并提供了多种实用技巧和示例代码,帮助开发者高效地管理和维护项目配置,具有较高的参考价值。 ... [详细]
  • 在探讨Hibernate框架的高级特性时,缓存机制和懒加载策略是提升数据操作效率的关键要素。缓存策略能够显著减少数据库访问次数,从而提高应用性能,特别是在处理频繁访问的数据时。Hibernate提供了多层次的缓存支持,包括一级缓存和二级缓存,以满足不同场景下的需求。懒加载策略则通过按需加载关联对象,进一步优化了资源利用和响应时间。本文将深入分析这些机制的实现原理及其最佳实践。 ... [详细]
  • TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得
    TypeScript 实战分享:Google 工程师深度解析 TypeScript 开发经验与心得 ... [详细]
  • 本文深入探讨了ASP.NET中ViewState、Cookie和Session三种状态管理技术的区别与应用场景。ViewState主要用于保存页面控件的状态信息,确保在多次往返服务器过程中数据的一致性;Cookie则存储在客户端,适用于保存少量用户偏好设置等非敏感信息;而Session则在服务器端存储数据,适合处理需要跨页面保持的数据。文章详细分析了这三种技术的工作原理及其优缺点,并提供了实际应用中的最佳实践建议。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 在 Axublog 1.1.0 版本的 `c_login.php` 文件中发现了一个严重的 SQL 注入漏洞。该漏洞允许攻击者通过操纵登录请求中的参数,注入恶意 SQL 代码,从而可能获取敏感信息或对数据库进行未授权操作。建议用户尽快更新到最新版本并采取相应的安全措施以防止潜在的风险。 ... [详细]
  • Web开发框架概览:Java与JavaScript技术及框架综述
    Web开发涉及服务器端和客户端的协同工作。在服务器端,Java是一种优秀的编程语言,适用于构建各种功能模块,如通过Servlet实现特定服务。客户端则主要依赖HTML进行内容展示,同时借助JavaScript增强交互性和动态效果。此外,现代Web开发还广泛使用各种框架和库,如Spring Boot、React和Vue.js,以提高开发效率和应用性能。 ... [详细]
  • 如何撰写初级和高级前端开发者的专业简历
    如何撰写初级和高级前端开发者的专业简历 ... [详细]
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • PHP自学必备:从零开始的准备工作与工具选择 ... [详细]
  • 理解和应用HTTP请求中的转发与重定向机制
    在HTTP请求处理过程中,客户端发送请求(通常简称为req),服务器进行相应处理后返回响应(通常简称为res)。理解和应用客户端的转发与重定向机制是前端开发的重要内容。这两种机制在Web开发中具有关键作用,能够有效管理和优化用户请求的处理流程。转发机制允许服务器内部将请求传递给另一个资源,而重定向则指示客户端向新的URL发起新的请求,从而实现页面跳转或资源更新。掌握这些技术有助于提升应用的性能和用户体验。 ... [详细]
  • 本文作为探讨PHP依赖注入容器系列文章的开篇,将首先通过具体示例详细阐述依赖注入的基本概念及其重要性,为后续深入解析容器的实现奠定基础。 ... [详细]
  • 在Kubernetes上部署多个Mitmproxy代理服务器以实现高效流量管理 ... [详细]
  • Java Web开发中的JSP:三大指令、九大隐式对象与动作标签详解
    在Java Web开发中,JSP(Java Server Pages)是一种重要的技术,用于构建动态网页。本文详细介绍了JSP的三大指令、九大隐式对象以及动作标签。三大指令包括页面指令、包含指令和标签库指令,它们分别用于设置页面属性、引入其他文件和定义自定义标签。九大隐式对象则涵盖了请求、响应、会话、应用上下文等关键组件,为开发者提供了便捷的操作接口。动作标签则通过预定义的动作来简化页面逻辑,提高开发效率。这些内容对于理解和掌握JSP技术具有重要意义。 ... [详细]
  • 本课程详细介绍了如何使用Python Flask框架从零开始构建鱼书应用,涵盖高级编程技巧和实战项目。通过视频教学,学员将学习到Flask的高效用法,包括数据库事务处理和书籍交易模型的实现。特别感谢AI资源网提供的课程下载支持。 ... [详细]
author-avatar
UJXo小妖春日望美
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有