Node.Js基础——安装及模块

一、什么是Node.Js?

Node.js 是一个开源和跨平台的 JavaScript 运行时环境。

它让JavaScript可以脱离浏览器端,在服务器端运行,让javaScript可以开发后端程序,实现了大部分其他后端语言的功能。 Node.js 建立在 Google Chrome V8 JavaScript 引擎之上,主要用于创建网络服务器 - 但不仅限于此。


二、Node.Js的安装

1、下载地址及版本

可以去Node.Js官网下载:https://nodejs.org

安装目录使用英文路径

(LTS)代表长期稳定版;项目开发一般会选择长期稳定版,根据项目所需,自行选择版本。

(Current)代表最新版;可以自己体验新功能,但最新版可能会出现未知bug

在node的使用中,使用npm下载安装包;

初始化:npm init -y

npm install 或 npm i;下载所有包 ;下载指定的包: npm i 包名

代表本地安装,可以用命令npm root查看本地安装的包的安装路径。

npm install  -g                           ( 加-g代表全局安装;)

全局安装默认安装到:C:Users\用户目录\AppData\Roaming\npm\node_modules 目录下;

卸载:uninstall;包的引入:require()。

安装下载时常见错误:

例:出现‘npm ERR! code CERT_HAS_EXPIRED npm ERR! errno CERT_HAS_EXPIRED npm ERR! request to’错误;翻译为:‘npm犯错!代码证书已过期!证书已过期!‘请求’证书过期,

可以尝试在终端输入:

npm cache clean --force

npm config set strict-ssl false

之后再下载安装

检测是否安装成功:

如果安装成功后,在终端或命令行工具中使用:node -v; 和npm -v;命令可以查看版本号;


2、配置镜像站

npm下载包的时候从默认npm服务器下载,因为从国外服务器下载速度较慢,所以可以尝试手动设置npm地址为国内镜像地址例如淘宝等镜像地址,在终端输入命令:

淘宝镜像地址:npm config set registry http://registry.npmmirror.com/   或npm config set registry http://registry.npm.taobao.org/

阿里云镜像地址:npm config set registry https://npm.aliyun.com/

设置反回原镜像地址:npm config set registry https://registry.npmjs.org/

验证npm地址:npm config get registry

如果出现报错;可能是权限问题,可以尝试其他镜像地址,或者以管理员身份运行命令:sudo。


3、终端中常用的命令及快捷键

↑ 、↓:定位上一行或下一行的历史命令;

Ctrl+C:不再是复制,关闭当前node进程;

鼠标右键:变为复制粘贴,选中内容单击右键复制,再次右键粘贴

Tab:自动补全路径;(另外输入 cd .. 命令是返回上一层;cd ~ 命令是返回根目录;pwd 查看当前目录路径)

esc:清空当前行已输入命令

clear/cls:清除当前终端所有命令

ls:显示当前路径文件下所有内容


三、Node.Js的模块

node.js的模块可以分为:核心模块、自定义模块、第三方模块

核心模块:是由Node.js官方提供的内置模块

可以在官网的网页中查询node的内置模块及其功能:https://nodejs.cn/api

常用的模块例如:

fs模块:一般用于对文件的操作,如读取文件、写入文件、文件添加等。

path模块:一般用path处理路径,来解决路径问题。

querystring 模块:用于解析和序列化url查询字符串。

http模块:用来搭建服务器


1.fs模块

引入fs包:const fs = require('fs')

fs几个常用的方法:

读取文件(readFile)例:

读取:fs.readFile('地址')

const fs = require('fs');
fs.readFile('./json/index.json', (err, data) => {
    if (err) {
        console.log('读取失败');
        console.log(err);
    }
    else {
        console.log(data.toString());
    }
})

写入文件(writeFile)例:

写入:fs.writeFile('地址','写入的内容')

写入文件是覆盖写入,会删除文件之前的内容,写入新的。

const fs = require('fs');
fs.writeFile('./json/index.json','{"name":"333333333333"}', (err) => {
    if(err){
        console.log('写入失败');
        console.log(err);
    }
    else{
        console.log("写入成功");
        }
    })

拼接文件(appendFile) 例:

拼接:fs.appendFile('地址','拼接的内容')

拼接在所有内容的末尾

const fs = require('fs');
fs.appendFile('./json/index.json','{"b":"2222"}', (err) => {
if(err){
    console.log('拼接失败');
    console.log(err);
}
else{
    console.log("拼接成功");
    }
})

 

2.path模块:

引入path包:const path = require('path')

path几个常用的方法:

拼接路径path.join 例:

'__dirname'可以获取当前文件的文件夹所在的绝对路径,用path.join拼接上目标文件的相对路径,就可以得到目标文件的绝对路径。('__filename'可以获取当前文件所在的绝对路径)

path.join(__dirname, './json/index.json')
路径获取path.basename 

path.basename('希望获取的目标文件名')

path.basename('index.html');

 

3.querystring 模块:用于解析和序列化 URL 查询字符串。

引入qs包:const qs = require('querystring')

qs.stringify() : 将对象转化为url形式的字符串。
qs.parse() : 将字符串转化为对象。 

json 与它相似

json.stringify() 将转化为json格式的字符串。
json.parse() 将json字符串转化为对象。


 

4.http模块:

在终端node运行文件,返回打印的内容‘server run port 3000’,服务启动成功,可以去访问127.0.0.1:3000

//引入包
const http = require('http');
//搭建服务器
let app=http.createServer((req, res) => {
    console.log(req.connection.remoteAddress);
    res.write('响应还未结束')
   
    res.end('ok')
})
//启动服务器
app.listen(3000,() => {
    console.log('server run port 3000')  
})

 

第三方模块:第三方作者发布分享的模块

可以去https://www.npmjs.com

根据自己的需求查找,其他作者分享的包。


 

自定义模块:自己创建的模块

自己创建的模块,比如把某一功能分装到另一个js文件,这个js文件就算是自定义模块。

引入自定义模块,还是使用require()引入,但自定义模块不能只用文件名,需要加“./”或"../"表示地址

const express = require('express');
const app = express();
//引入
const userRouter = require('./router/user.js');
app.use('/user', userRouter);
app.listen(3000,()=>{
	console.log('express -- 3000端口 -- 已开放')
});

 导出使用exports

const express = require('express')
let router = express.Router()
router.get('/getnames', (req, res) => {
	res.send('user/getnames');
})
//导出
module.exports = router;

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值