NodeJs是js的运行时,意味着可以在浏览器外运行js。可以使用nodejs来构建服务器端应用、CLI应用、Web API,甚至用electron构建桌面端应用。

使用nvm来管理node版本。

在终端输入node 进入REPL环境,可以测试和执行代码,mac系统使用control+d退出REPL环境。

执行某个js文件:node xxx.js

在vscode中必须安装的拓展

Document This:注释工具

ESLint

npm Intellisense:快速导入包

Prettier

REST Client:可以将http发起的api请求放在单独文件中

创建第一个Node项目

npm init 然后完成创建package.json的步骤

code package.json 打开vscode

lock文件是什么

每当package.json和node_modules下的文件被npm修改,lock文件就会更新。用来保证依赖项安装的相同,包括不同机器不同时间的所有依赖关系。

此文件需要提交到仓库中,防止与其他开发者之间出现无法构建的现象。还有一个原因,没有这个文件就不能执行npm ci指令,npm ci和npm install类似,但它在自动化环境中运行,就是基于lock文件安装所有依赖项。

如何更新依赖项

键入npm outdated,会列出过期的包。黄色文字代表现有最新的包,但版本不在你的package.json文件可更新范围;红色文字代表在可更新范围,可以放心的去更新。

键入npm update,会更新所有红色的包至最新版,

如何指定匹配更新版本?

package.json中可以看到3个数字组成的版本号,分别为主版本(大号)、次版本(中号)、补丁版(小号)。

^脱字符:表示你允许中号和小号版本更新,禁止大号更新,通常可以安全更新;

~:限制只能更新小号,对关键包很有用(编译器或Linter),有时也是有新功能必须要更新;

*:取代大号的位置,表示允许任何更新,总是会更新到最新版本;

不想有任何更新就不加符号。

如何更新黄色的包?

npm install express@latest

(Version Lens扩展可以检查包更新)

漏洞管理

npm audit 可以获取漏洞的种类信息,哪些包受影响,以及如何去解决

npm audit fix 会尝试通过更新包来解决问题(在可用的版本范围内)

npm audit fix --force 允许更新版本范围外的(可更新主版本)

处理文件系统

在Node应用中,你可能会去处理文件系统,是否读取配置文件、为web服务抓取静态文件、或将日志写入磁盘。

通常会用到fs和path。

fs模块:与文件系统交互,最常用方法是readdir,如果同步版本就是readdirSync,该方法从初始路径开始,接着返回字符串数组,含有该文件夹中所有可找到的文件。可以写入选项,像withFileTypes: true,就会返回一系列对象而不是数组字符串,包含文件的元数据,就可以确定某个东西是文件夹或者磁盘上的文件。

path模块:给我们文件系统路径信息,不必去操作文件系统自身,通过该模块可以查看路径扩展、查看文件名字、以及路径内使用的分隔符,确保知晓操作系统特定的文件分隔符(/\朝向问题)

Node.js入门学习笔记的更多相关文章

  1. Node.js入门学习笔记(一)

    先来个最常见的"Hello World!". 打开你最喜欢的编辑器(我用的是Sublime Text),创建一个helloWorld.js的文件.我们要做的就是向stdout输出& ...

  2. Node.js入门学习笔记(三)

    基于事件驱动的回调 这个问题不好回答,不过这是Node.js原生的工作方式.它是事件驱动的,这也是它为什么这么快的原因.你可以花一点时间阅读一下Felix Geisendörfer的大作 Unders ...

  3. node.js入门学习笔记整理

    (1)node Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node与javaScript的区别在于,javaScript的顶层对象是window,而no ...

  4. Node.js入门学习笔记(二)

    函数传递 举例来说,你可以这样做: function say(word) {      console.log(word);  }  function execute(someFunction, va ...

  5. node.js day01学习笔记:认识node.js

    Node.js(JavaScript,everywhere) 1.Node.js 介绍 1.1. 为什么要学习Node.js 企业需求 + 具有服务端开发经验更好 + front-end + back ...

  6. Node.js API学习笔记(一)

    此文章已经发表于本人博客. Terminal(终端) 说起这个使用过linux系统的兄台一般都会知道的,本人理解:类似Putty这些ssh工具通过 软件来实现远程控制主机,对于我们使用者来说,它会显示 ...

  7. 《深入浅出Node.js》学习笔记(一)

    看了朴灵前辈的node.js系列文章,很开阔视野,虽然能力有限还是有很多不懂,但是还是希望能写下笔记,初步对node.js有点了解. 一.概念 Node.js不是JS应用.而是JS运行平台 Node. ...

  8. node.js入门学习(四)--Demo图书的增删改查

    需求:图书的增删改查,图书数据保存在data.json文件中. 1.Demo结构: 2.首先下载安装node.js,配置环境变量:参考博客 3.项目初始化 1)创建项目根目录node-hello,进入 ...

  9. node.js 基础学习笔记3 -http

    http模块,其中封装了一个高效的HTTP服务器和一个建议的HTTP客户端 http.server是一个基于事件的HTTP服务器 http.request则是一个HTTP客户端工具,用户向服务器发送请 ...

  10. node.js 基础学习笔记2

    Module和Package是Node.js最重要的支柱. Node.j 提供require函数来调用其他模块,而且模块都是基于文件.模块和包区别是透明的,因此常常不作区分. 1.模块和文件一一对应. ...

随机推荐

  1. SQL Server链接数据库

    有时候我们希望在一个sqlserver下访问另一个sqlserver数据库上的数据,或者访问其他oracle数据库上的数据,要想完成这些操作,我们首要的是创建数据库链接. 数据库链接能够让本地的一个s ...

  2. WSL安装Ubuntu 22.04 (2)

    1.安装系统环境 1.1.设置软件包源为国内镜像 参考:Ubuntu更换国内镜像源 - 知乎 1.2.更新系统软件包 sudo apt-get update && sudo apt-g ...

  3. 在Mac上不常用但会用到的命令

    文章目录 1. chflags 2. rename 1. chflags chflags hidden filename 给文件添加隐藏属性 chflags nohidden filename 去掉文 ...

  4. python selenium 操作文件上传,并发操作时,文件选择窗口混乱解决方案

    上传文件 使用的是 python + autoit 模块,这种方式有一个问题,当出现多条任务同时选择文件上传的时候,无法判断那个文件选择窗口的归属,从而出现上传了错误的文件! 解决方法: 要上载文件而 ...

  5. 密码破解-john的使用

    john类似于hashcat一样,也是一款密码破解方式,john跟专注于系统密码的破解,并且和hashcat一样在kali中自带 hash请见hash的简单使用 重要的参数 --wordlist=字典 ...

  6. jetbrains账户的注册

    注册步骤 1.进入官网界面 官网地址在这里啦:https://www.jetbrains.com/ 官网本来显示的是这个界面: 点击右上角的Learning Tools,然后选择该页面内的这里: 2. ...

  7. UI界面实现SSH登录服务器并执行命令监控

    一.通过paramiko实现SSH远程登录服务器.执行命令并返回信息: 二.通过wxpython实现UI化: 三.代码实现如下: 1)主程序MainUI #coding:utf8 #!/usr/bin ...

  8. RTE NG-Lab:一起探索下一代实时互动新世界

    互联网已经彻底改变了我们的工作和生活.从纸书信笺,到智能手机中的 App,再到 VR 头显,实时互动体验逐代升级,已经成为了我们生活的一部分.随着元宇宙的爆火,新增的实时互动场景日益颠覆着我们的想象力 ...

  9. Asp-Net-Core开发笔记:使用RateLimit中间件实现接口限流

    前言 最近一直在忙(2月份沉迷steam,3月开始工作各种忙),好久没更新博客了,不过也积累了一些,忙里偷闲记录一下. 这个需求是这样的,我之前做了个工单系统,现在要对登录.注册.发起工单这些功能做限 ...

  10. Spring Bean 的生命周期(详细解读)

    Spring Bean 的生命周期简单易懂.在一个 bean 实例被初始化时,需要执行一系列的初始化操作以达到可用的状态.同样的,当一个 bean 不再被调用时需要进行相关的析构操作,并从 bean ...