Node.js入门学习笔记
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入门学习笔记的更多相关文章
- Node.js入门学习笔记(一)
先来个最常见的"Hello World!". 打开你最喜欢的编辑器(我用的是Sublime Text),创建一个helloWorld.js的文件.我们要做的就是向stdout输出& ...
- Node.js入门学习笔记(三)
基于事件驱动的回调 这个问题不好回答,不过这是Node.js原生的工作方式.它是事件驱动的,这也是它为什么这么快的原因.你可以花一点时间阅读一下Felix Geisendörfer的大作 Unders ...
- node.js入门学习笔记整理
(1)node Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node与javaScript的区别在于,javaScript的顶层对象是window,而no ...
- Node.js入门学习笔记(二)
函数传递 举例来说,你可以这样做: function say(word) { console.log(word); } function execute(someFunction, va ...
- node.js day01学习笔记:认识node.js
Node.js(JavaScript,everywhere) 1.Node.js 介绍 1.1. 为什么要学习Node.js 企业需求 + 具有服务端开发经验更好 + front-end + back ...
- Node.js API学习笔记(一)
此文章已经发表于本人博客. Terminal(终端) 说起这个使用过linux系统的兄台一般都会知道的,本人理解:类似Putty这些ssh工具通过 软件来实现远程控制主机,对于我们使用者来说,它会显示 ...
- 《深入浅出Node.js》学习笔记(一)
看了朴灵前辈的node.js系列文章,很开阔视野,虽然能力有限还是有很多不懂,但是还是希望能写下笔记,初步对node.js有点了解. 一.概念 Node.js不是JS应用.而是JS运行平台 Node. ...
- node.js入门学习(四)--Demo图书的增删改查
需求:图书的增删改查,图书数据保存在data.json文件中. 1.Demo结构: 2.首先下载安装node.js,配置环境变量:参考博客 3.项目初始化 1)创建项目根目录node-hello,进入 ...
- node.js 基础学习笔记3 -http
http模块,其中封装了一个高效的HTTP服务器和一个建议的HTTP客户端 http.server是一个基于事件的HTTP服务器 http.request则是一个HTTP客户端工具,用户向服务器发送请 ...
- node.js 基础学习笔记2
Module和Package是Node.js最重要的支柱. Node.j 提供require函数来调用其他模块,而且模块都是基于文件.模块和包区别是透明的,因此常常不作区分. 1.模块和文件一一对应. ...
随机推荐
- maven使用junit测试报class not found
突然就找不到类,查了一下是因为使用了Clean的命令,把编译好的class文件清理掉了,在Maven中使用test进行测试就可以了
- Win10 下Cisco AnyConnect Secure Mobility Client问题(转)
原文地址:http://blog.sina.com.cn/s/blog_66b9ff210102vup0.html 从WIN8升级到WIN10 ,Cisco AnyConnect ...
- android装包
一.找到对应包体apk 二.数据线连接电脑及手机,弹出USB连接选项并选择传输文件 注:如果未弹出USB连接选项可尝试换根数据线解决 三.点击我的电脑找到本机设备 四.将对应包体文件拖入本机设备 五. ...
- 【Python】pcap抓MySQL网络包
pcap # -*- coding:utf-8 -*- # yum install libpcap-devel python-devel # pip install pypcap hexdump -i ...
- appium之元素定位方法
做App UI自动化的时候,appium使用最频繁的应该就是定位元素了. Appium常用的元素属性值: resource-id:resource-id属性一般ID是唯一的,如果元素中有ID的话,优先 ...
- Javaweb学习笔记第七弹
Maven依赖范围 对于Maven的安装配置等环境准备问题,可详细参考我的前几篇博客, 网址1:https://www.cnblogs.com/liuzijin/p/16654344.html 网址2 ...
- 声网王浩宇:RTE 场景下的 Serverless 架构挑战【RTE 2022】
前言 在「RTE2022 实时互联网大会」中,声网云原生边缘计算团队的负责人 @王浩宇 Dylan 以<RTE 场景下的 Serverless 架构挑战 -- 声网如何兼顾后端服务的可靠.高效和 ...
- 如何基于 React Native 快速实现一个视频通话应用
今天,我们将会一起开发一个包含 RTE (实时互动)场景的 Flutter 应用. 项目介绍 靠自研开发包含实时互动功能的应用非常繁琐,你要解决维护服务器.负载均衡等难题,同时还要保证稳定的低延迟. ...
- Windows 10 G 神州网信政府版
神州网信政府版2018版:Win10 CMGE_V0-H.1020.000.iso校验码:9484e568c6505f9c4ad5b9fcf7ec8d83588eebfb38089f53e33011 ...
- MySQL 一致性视图(MVCC)
更多内容,前往IT-BLOG MySQL中支持的四种隔离级别 提到事务,你肯定会想到 ACID(Atomicity.Consistency.Isolation.Durability,即原子性.一致性. ...