关于Nodejs入坑!!!
关于Nodejs入门
- 什么是nodejs?
一个开源与跨平台的 JavaScript 运行时环境;可以理解为 Node.js 就是一个服务器端的、非阻塞式I/O的、事件驱动的JavaScript运行环境
Node作为一个新兴的前端框架,后台语言,有很多吸引人的地方:RESTful API,单线程。
特点:
1、nodejs是一个js运行平台
2、基于chrome v8引擎,性能好,速度快
3、使用事件驱动、非阻塞式I/O模型(异步),数和数据密集型的实时应用,用户体验好
2、为什么要使用nodejs?
让js语言媲美服务端语言,方便前端人员学习,后面vue react 是基于node。
- 安装Nodejs;
- win + R 输入 cmd 打开小黑窗;
- 输入node -v 或者 node --version 查看版本号 如果出现版本号说明安装成功;
- 在编辑器中新建入口文件。如下图(其实就是一个js后缀的普通js文件);
- 在文件上鼠标右击,选择在集成终端中打开(或者顶部菜单栏 -- 终端 -- 新建终端)
- node 文件地址(输入文件名的开头,按tab键会自动补全)回车。如下图
段落总结:Nodejs就是使用js脚本语言编写后端接口程序(API)使其可以像后端一样方便的向前端提供接口数据等服务方便了前端爱好者学习和钻研前端技术。
缺点就是不可以像前端js文件一样获取DOM节点,不适合CPU密集型应用;只支持单核CPU,不能充分利用CPU;可靠性低,一旦代码某个环节崩溃,整个系统都崩溃。
- 应用场景
借助Nodejs的特点和弊端,其应用场景分类如下:
第一大类:用户表单收集系统、后台管理系统、实时交互系统、考试系统、联网软件、高并发量的web应用程序
第二大类:基于web、canvas等多人联网游戏
第三大类:基于web的多人实时聊天客户端、聊天室、图文直播
第四大类:单页面浏览器应用程序
第五大类:操作数据库、为前端和移动端提供基于json的API
其实,Nodejs能实现几乎一切的应用,只考虑适不适合使用它。
段落总结:说白了就是因为js是单线程的编辑语言如何遇到大量并发的任务程序可能一下子死掉或者系统整个崩溃,而且由于Nodejs是单线程不能充分发挥还会浪费系统资源等。
命令:
Nodejs入口文件运行命令node app.js
- 什么是内置模块?
内置模块也叫核心模块其提供了公共 API的命名导出;除默认提供的语法之外,无需下载,直接引入,引入只写名称即可。
命令:require引入文件(例:var fs = require('fs'););
Fs内置模块:文件操作系统的API
写入文件异步操作:
同步写入 async异步 sync同步 : void没有返回值
在当前目录下新建一个名为2.txt内容为“同步写入的内容11111”的文本文件。
相关文档:https://nodejs.org/dist/latest-v18.x/docs/api/fs.html#fsunlinkpath-callbackhttp模块:HTTP 核心模块是 Node.js 网络的关键模块。
创建服务:
http.request()
发送 HTTP 请求到服务器,并创建 http.ClientRequest 类的实例。
自定义模块:
关键点:
1、编辑完后必须抛出否则无法使用;抛出命令exports.f = list;
- 引入、使用
var module1 = require('./module1');
console.log(module1, module1.f());
第三方模块:
安装第三方模块:
npm 模块包管理工具
查看版本号 npm -v 或者 npm --version
注意事项:
1、想要使用第三方模块,需要创建一个项目清单 用来记录下载了哪写第三方模块
npm init 注意Sorry, name can only contain URL-friendly characters. 注意package name "()'~!和中文 不能使用
2、创建入口文件 (index.js main.js app.js server.js)
3、编写代码 引入第三方模块 npm市场:https://www.npmjs.com/
3.1 安装第三方模块包(依赖包)
3.11、npm install 模块包名 或者 npm i 模块包名/
3.12、安装成功之后在package.json里面会出现安装过的依赖包的名称和版本号。如下图:
3.13、node_modules文件夹 下载的第三方依赖包都在这里面
3.14、package-lock.json 记录模块与模块之间的关系,记录所依赖的第三方模块包的结构和下载地址,下次重新安装的时候,能够加快下载速度
如果依赖包被删除了,但是package.json这个文件还在;使用npm i 命令 会自动检索package.json里面所有的依赖包,然后进行安装
4、运行
node app.js(注意:入口文件名)
npm run start 会自动去package.json中的script中找start对应的命令并执行。
关于token验证:
token为第三方插件需要下载引入后使用,用处对某一个东西进行加密;使用方式:参数第一个参数是加密的数据,第二个参数加密时使用的密钥。如图: