js高级——node.js

NodeJS

nodejs是js的执行环境。

nodejs是Ryan Dahl在2009年5月发布,从chrome浏览器中将v8引擎分离出来,加入了一些服务器端必要的模块(事件、io、http、文件操作...)。

nodejs可以安装在客户端,可以辅助程序的开发。

nodejs也可以安装在服务器端,可以作为www服务(网站服务器)。

安装

Nodejs英文官网 :Node.js

Nodejs中文官网:Node.js 中文网

lts:长期支持版本。

current:最新版。

建议使用lts。

安装时,安装目录最好不要有中文。如果有中文目录,建议改为英文。

安装完成后可以在命令行下打印版本号:

node -v

v16.17.0

nodejs安装完成后,实际上会自动安装npm(包管理器)。

npm -v

8.15.1

如果提示:npm WARN config global --global, --local are deprecated. Use --location=global instead.

表示npm当前版本与受支持的版本不一致,可以安装npm-windows-upgrade模块:

npm install -g npm-windows-upgrade

然后运行:

npm-windows-upgrade

改变npm的源

npm的数据源在国外,国内访问比较慢,此时,可以设置npm的源为本地源。

npm config set registry https://registry.npmmirror.com/

设置完后,可以查看当前的源地址:

npm config get registry

powshell

powshell默认不允许执行脚本,直接执行脚本会报错,此时,我们需要运行powshell的管理员模式:

set-ExecutionPolicy RemoteSigned

选是(Y)回车,打开执行权限。

nodejs的结构

在nodejs中,不存在window、document、DOM都没有。

nodejs自带内置模块、第三方模块、自己的模块。

全局变量

__filename  表示当前执行文件的全路径

__dirname  表示当前执行文件所在的路径

内置模块

HTTP模块

http模块负责处理http请求

引入模块:

const http = require('http')

创建服务器

const server = http.createServer(function (req, res) {
  // console.log(req.url);
  res.writeHead(200, { 'Content-Type': 'text/html; charset=UTF-8' });
  res.end('这是服务器返回的信息,请求的地址是:' + req.url)
})

req和res是对象,req存储了所有客户端的请求数据,res封装了所有对客户端操作的方法。

设置服务器,让其监听(运行)端口:

server.listen(80, function () {
  console.log('服务器启动在80端口');
})

fs模块

fs模块负责服务器上的文件,包括文件、目录的建立、移除、读取、写入

文件的读取:

//异步读取
const data = fs.readFile('作业.txt', 'utf-8', function (err, result) {
    if (err) {
        console.log('异步读取失败!');
    } else {
        console.log('异步读取成功!' + result);
    }
})
//同步读取
const data1 = fs.readFileSync('作业.txt', 'utf-8');
console.log(data1);

读取到的是buffer对象,使用toString()转换为字符串。

文件写入:

const fs = require('fs');
//异步写入
fs.writeFile('作业.txt', '练习fs同步异步读写', function (err, result) {
    if (err) {
        console.log('写入失败', err);
    } else {
        console.log('写入完成', result);
    }
})
//同步写入
const rr = fs.writeFileSync('同步写入作业.txt', '同步写入');
console.log(rr);

npm

npm是包管理器,负责整个项目的所有包及项目结构,项目管理器。

npm是官方推荐使用的包管理器,不是唯一,有第三方的包管理器可用yarn、pnpm.

项目的建立

npm init
或者
npm init -y

可以在项目根目录下自动建立package.json文件。

package.json很重要,它记录了项目所需的所有包的名称及版本号。

包的安装

npm install <包名1> <包名2>
node_modules 在当前项目的目录下
安装到全局
npm install <包名1> <包名2> -g
node_modules 在nodejs的安装目录下

install 可以简写为 i

包的卸载:

npm uninstall <包名1> <包名2>
npm uninstall <包名1> <包名2> -g

包的更新:

npm update <包名1> <包名2>
npm update <包名1> <包名2> -g

包的列表:

npm list 
npm list -g

项目中的node_modules通常很大,node_modules不使用的时候(备份、传递,损坏),删除node_modules目录。

重新执行 npm install 自动查找package.json将其中记录的包顺序安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值