Nodejs一、初识

news2025/1/4 10:18:33

零、文章目录

Nodejs一、初识

1、初识 Node.js

(1)回顾与思考

  • 浏览器中的 JavaScript 的组成部分

image-20230608151911350

  • 为什么 JavaScript 可以在浏览器中被执行

image-20230608152009139

  • 为什么 JavaScript 可以操作 DOM 和 BOM

image-20230608152549506

  • 浏览器中的 JavaScript 运行环境

image-20230608152633363

  • JavaScript 能否做后端开发?

image-20230608152746385

(2)Node.js 简介

  • Node.js是什么

    • Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境
    • 官网地址:https://nodejs.org/zh-cn/
  • Node.js 中的 JavaScript 运行环境

  • 浏览器是 JavaScript 的前端运行环境

  • Node.js 是 JavaScript 的后端运行环境

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

image-20230608153115884

  • Node.js 可以做什么:Node.js 作为一个 JavaScript 的运行环境,仅仅提供了基础的功能和 API。然而,基于 Node.js 提供的这些基础能力,很多强大的工具和框架如雨后春笋,层出不穷,所以学会了 Node.js ,可以让前端程序员胜任更多的工作和岗位:

    • 基于 Express 框架(http://www.expressjs.com.cn/),可以快速构建 Web 应用
    • 基于 Electron 框架(https://electronjs.org/),可以构建跨平台的桌面应用
    • 基于 restify 框架(http://restify.com/),可以快速构建 API 接口项目
    • 读写和操作数据库、创建实用的命令行工具辅助前端开发、etc…
  • Node.js 怎么学

    • 浏览器中的 JavaScript 学习路径:JavaScript 基础语法 + 浏览器内置 API(DOM + BOM) + 第三方库(jQuery、art-template 等)
    • Node.js 的学习路径:JavaScript 基础语法 + Node.js 内置 API 模块(fs、path、http等)+ 第三方 API 模块(express、mysql 等)

(3)Node.js 安装

  • 进入到 Node.js 的官网下载页,下载所需的版本。

image-20230615141941662

  • 区分LTS版本和Current版本的不同

    • LTS:长期稳定版,对于追求稳定性的企业级项目来说,推荐安装 LTS 版本的 Node.js。
    • Current:新特性尝鲜版,对热衷于尝试新特性的用户来说,推荐安装 Current 版本的 Node.js。但是,Current 版本中可能存在隐藏的 Bug 或安全性漏洞,因此不推荐在企业级项目中使用 Current 版本的 Node.js。
  • Window安装:

    • **双击安装:**下载的exe程序双击安装即可。

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

    image-20230608165203529

  • Linux安装

    • Linux相关知识请参考Linux详解

    • 在官网下载页找到linux版本node的下载地址(注意node依赖linux的系统库,太新的node依赖的库文件版本较新,我这里centos7.9支持node 16,node18就不行):https://nodejs.org/download/release/v16.20.0/node-v16.20.0-linux-x64.tar.xz

    • linux/usr/local文件夹下新建一个名为nodejs的文件夹并进入此文件夹

    [root@bluecusliyou ~]# cd /usr/local
    [root@bluecusliyou local]# mkdir nodejs
    [root@bluecusliyou local]# cd nodejs
    
    • 下载安装包到文件夹
    [root@bluecusliyou nodejs]# wget https://nodejs.org/download/release/v16.20.0/node-v16.20.0-linux-x64.tar.xz
    
    • 把压缩包解压
    [root@bluecusliyou nodejs]# tar -xvf node-v16.20.0-linux-x64.tar.xz
    [root@bluecusliyou nodejs]# ls
    node-v16.20.0-linux-x64  node-v16.20.0-linux-x64.tar.xz
    
    • 建立软连接,使命令在全局都可以运行
    [root@bluecusliyou nodejs]# ln -s /usr/local/nodejs/node-v16.20.0-linux-x64/bin/node /usr/local/bin
    [root@bluecusliyou nodejs]# ln -s /usr/local/nodejs/node-v16.20.0-linux-x64/bin/npm /usr/local/bin
    
    • 验证安装
    [root@bluecusliyou nodejs]# node -v
    v16.20.0
    [root@bluecusliyou nodejs]# npm -v
    8.19.4
    
  • 终端是什么

    • 终端(英文:Terminal):是专门为开发人员设计的,用于实现人机交互的一种方式。
    • Windows 系统打开终端:快捷键(Windows徽标键 + R)打开运行面板,输入 cmd 后直接回车,即可打开终端。
    • 在 Windows 的 powershell 或 cmd 终端中,我们可以通过如下快捷键,来提高终端的操作效率:
      • 使用 键,可以快速定位到上一次执行的命令
      • 使用 tab 键,能够快速补全路径
      • 使用 esc 键,能够快速清空当前已输入的命令
      • 输入 cls 命令,可以清空终端

(4)Node.js 执行JavaScript

  • 打开终端
  • 输入:node app.js

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/652173.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTMLCSS Day07 CSS Flex布局

文章目录 1.flex布局2.flex布局属性容器属性元素属性 3.flex弹性盒模型3.1.主轴3.2.沿主轴的排列处理3.3.flex-flow属性3.4.justify-content属性3.5.align-items属性3.6.align-content3.7 项目属性3.8.order3.9.flex-grow3.10.flex-shrink3.11.flex-basis3.12.flex3.13.align-s…

干翻Mybatis源码系列之第十篇:Mybatis拦截器基本开发、基本使用和基本细节分析

给自己的每日一句 不从恶人的计谋,不站罪人的道路,不坐亵慢人的座位,惟喜爱耶和华的律法,昼夜思想,这人便为有福!他要像一棵树栽在溪水旁,按时候结果子,叶子也不枯干。凡他所做的尽…

使用终极 GUI 框架 NiceGUI 提升你的 Python 应用程序

介绍 随着机器学习和深度学习网站应用程序的快速增长,开发人员一直在寻找新的 Web 框架,以便更轻松地构建这些网站应用程序。 数据科学应用程序的普及程度已经上升,因此新的框架也在增加。开发人员创建了许多新的框架,这些框架被证…

【压缩技巧】如何把文件压缩成RAR?如何解压?

在生活及工作中,我们经常需要压缩文件使其更方便存储或传送。 压缩文件的格式有很多种,RAR是其中一种常见的格式,也是WinRAR软件独有的压缩格式。所以想要把文件压缩成RAR,就可以通过WinRAR来操作。 压缩方法如下: 1…

数组的原型方法-es6

数组的原型方法-es6Array.form()Array.of() find() 和 findIndex()copyWithin()fill()entries(),keys()和values()includes()flat()和flatMap()扩展运算符at()reduce()和reduceRight()some()判断数组中是否存在满足条件的项 18、Array.form() Array.from方法用于将两类对象转…

linuxOPS系统服务_linux高级命令

find命令 find 路径 [选项 选项的值] … 选项作用-name根据文件的名称进行-type按文件类型进行搜索,f代表普通文件,d代表文件夹 find命令查找文件 示例1 查找一个文件 案例1 ,在linux整个系统中查找 test.txt文件 find / -name test.txt -type f案例…

《Opencv3编程入门》学习笔记—第六章

《Opencv3编程入门》学习笔记 记录一下在学习《Opencv3编程入门》这本书时遇到的问题或重要的知识点。 第六章 图像处理 一、线性滤波:方框滤波、均值滤波、高斯滤波 (一)平滑处理 平滑处理也称模糊处理,是一种简单且使用频率…

像拿快递一样取文件的FileCodeBox

本文大约完成于 2月中旬,镜像中途有过更新; 什么是 FileCodeBox ? FileCodeBox 中文名是 文件快递柜,取文件像取快递一样,支持通过匿名口令分享文本,文件。 很多时候,我们都想将一些文件或文本传…

流量卡和手机上显示的流量对不上,这是怎么回事呢?

很多朋友反映,自己购买的流量卡和手机上显示的流量对不上,这到底是怎么回事呢?小编认为,如果出现这种情况,无非有两种因素: ​ 一、买了不正规的流量卡,也就是大家所说的物联卡。 物联卡的特点…

低压电源系统中防雷浪涌保护器的布局方案

低压电源系统是工业、商业和住宅领域中广泛应用的电力系统,其供电电压一般在1000V以下。由于雷击和浪涌等自然灾害的存在,低压电源系统需要防雷浪涌保护器来保护系统不受损坏。本文将详细介绍低压电源系统中防雷浪涌保护器的布置位置与规范。 防雷浪涌保…

AUTOSAR】UDS协议的代码分析与解读(八)----UDS安全访问27h和通讯控制28h

8.9 安全访问 Security Access (27h) 由于保密、排放或安全的原因, 安全访问服务提供一种方法以方便访问受限制的数据或诊断服务。 支持安全访问的ECU应该实现种子和密钥的合理算法,该算法应在特定文档中记录,而只有特定的少数 人可以访问该文…

FasterTransformer 003: CMAKELIST in gemm_test

cmake -DSM60 -DCMAKE_BUILD_TYPERelease .. -DCMAKE_BUILD_TYPE cmake编译类型通常默认为debug,但是在编译软件时,一般都需要使用release版本的,debug太慢了。设置为release版本可以在cmake文件里进行,也可以在运行cmake命令时使…

深度学习实践篇[17]:模型压缩技术、模型蒸馏算法:Patient-KD、DistilBERT、DynaBERT、TinyBERT

【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化…

观点碰撞燃爆会场,2023开放原子全球开源峰会区块链分论坛圆满落幕!

2023开放原子全球开源峰会区块链分论坛活动现场 6月13日,由开放原子开源基金会主办,XuperCore开源项目承办,北京百度网讯科技有限公司、招商银行、联通数字科技有限公司、杭州趣链科技有限公司等协办的2023开放原子全球开源峰会区块链分论坛在…

《低代码指南》不能“生成代码”的低代码平台,为什么推进阻力那么大?

为什么现在低代码平台推进阻力那么大? “在踏出一步之前,首先考虑能否退回去” 现在低代码平台,功能性能这些先不说,能不能提升效率,提升多少,暂不讨论。光“平台和环境锁定”这一点,就是整个行业最大的技术推广障碍。道理很简单,平台有几百个,但是如果选了一个,…

c++11 标准模板(STL)(std::basic_ios)(一)

定义于头文件 <ios>template< class CharT, class Traits std::char_traits<CharT> > class basic_ios : public std::ios_base 类 std::basic_ios 提供设施&#xff0c;以对拥有 std::basic_streambuf 接口的对象赋予接口。数个 std::basic_ios 对…

汽车IVI中控开发入门及进阶(八):视频相关的一些知识点

前言: 视频最早的渊源来源于电视。做汽车仪表/IVI中控,尤其是IVI信息娱乐部分,都要涉及到视频这个知识点,各种概念很多,首先需要明确一条主线,那就是SDTV标清电视->HDTV高清电视->UHDTV超高清电视的一个发展脉络,BT601/656是SDTV标清电视接口,BT1120则对应HDTV高…

SpringCloud:什么是SpringCloud?①

一、什么是SpringCloud 像“云朵”一样聚集起来管理服务。它的定位就是&#xff1a;服务群组间的通讯管理。 二、Spring&#xff0c;SpringBoot以及SpringCloud之间的关系。 Spring是一种引擎式的底层核心-- bean容器思想。后面均是基于它延伸的高级产品。 SpringBoot 专注单体…

为什么中国大公司不开发 Linux 桌面应用?

我们Linux平台C端的业务&#xff0c;也就是给大家提供的Linux的个人版本。目前真的是靠爱发电了&#xff0c;逃&#xff09; 更爱的是&#xff0c;我们不只是提供了X64平台&#xff0c;更是提供了Arm&#xff0c;MIPS64平台的二进制包。 估计国内在Linux平台首发新功能的桌面应…

马尔科夫模型 详解

马尔可夫性 马尔可夫性也叫做无后效性、无记忆性&#xff0c;即是过去只能影响现在&#xff0c;不能影响将来。 在数学上&#xff0c;如果为一个随机过程&#xff0c;则马科尔夫性质可以符号化成如下形式&#xff1a; 从上式可知&#xff0c;过去(s)并不影响将来(th)的状态&a…