1.使用node.js搭建服务
1.1创建http.js文件
// 第一步引入http服务 目的:搭建/开启本地服务器(让自己的电脑成为一台服务器)
const http = require("http")
// 第二步创建服务器 目的:前端请求这个服务,服务返回前端响应的数据
// http(超文本传输协议)是一个用于传输超文本到本地浏览器的协议
// 要创建http服务器(满足 Web 浏览器与 Web 服务器之间的通信需求)
// 需要使用http.createServer()方法
const server = http.createServer((req, res) => {
// req--request 请求 res--response 响应
// 设置HTTP响应的状态码为200,表示请求成功
res.statusCode = 200
// 设置HTTP响应头的Content-Type字段为"text/plain;charset=UTF-8",表示响应内容的类型为纯文本,字符集为UTF-8(可以避免中文乱码)
res.setHeader("Content-Type", "text/plain;charset=UTF-8")
// 在HTTP响应中结束并发送一段HTML内容"<h1>Hello World</h1>"到客户端
res.end("<h1>Hello World</h1>")
})
// 监听端口号
server.listen(3000, "localhost", () => {
// 会在3000端口号开启服务器,并且运行在localhost上
console.log("服务器开启成功");
})
1.2第四步.在终端进入http.js文件中,然后运行http.js文件
1.3浏览器访问3000端口
2.Commonjs模块规范
js与js文件之间相互引用以及导出
2.1index01.js文件(用于导出使用)
// 数据资源
const obj = {
use: "zhangsan",
age: 18,
habby: ["打篮球", "听音乐", "跑步"]
}
// 函数
function say() {
console.log("hello world");
}
// 要想供别的文件使用,必须导出
// 直接导出obj
module.exports = obj
// 直接导出一个对象
module.exports = {
obj: obj,
name: "对象数据",
say
}
2.2index02.js文件(用于引入使用)
// 使用index01.js里面的数据
// 要使用obj'先导入(文件后缀名可加可不加)
// 引入自己编写的文件需要加"./",内置的服务引入不需要加
const data = require("./index01")
console.log(data);
2.3在控制台运行index02.js文件
3.querystring库
用于解析和格式化网址查询字符串的实用工具
例如某一个地址为:url?userName=zhangsan&password=123456,可以将该地址中的字符串拼接参数转为对象,也可以将对象转成字符串拼接
// 功能:接受用户输入的url地址,传递的参数
// 导入querystring库
const { log } = require("console");
const qs = require("querystring");
const { age } = require("./index01");
// 设置一个某认的url参数
let params = "useName=admin&password=123456"
// qs.parse()方法将查询字符串参数转换为JavaScript对象
const data = qs.parse(params)
console.log(data)
console.log(data.useName);
let params2 = {
useName: "zhangsan",
password: "123456",
age: 18,
sex: "男",
hobby: ["打篮球", "踢足球"]
}
// qs.stringify()用于将对象序列化为查询字符串
console.log(qs.stringify(params2));
4.node.js模块url
4.1url模块提供了网址处理和解析的实用工具
// 导入url模块,请求url地址
// const url = require("url")
const { log } = require("console");
// 声明一个url地址
let address = "http://www.baidu.com:8080/api/banner?id=info"
// url.parse()方法将URL字符串解析为一个对象,第二个参数true表示解析查询字符串为对象
// 输出结果包含URL的各个组成部分,如协议、主机、路径、查询参数等
// console.log(url.parse(address, true))
// 输出查询参数部分的值
// console.log(url.parse(address).query);
// 新方法
const myUrl = new URL(address)
console.log(myUrl);
log(myUrl.searchParams.get("id"))
5.npm常用的命令
- npm -v : 查看npm当前的版本号
- npm init : 初始化项目(会创建package.json文件)
- npm install 模块名称 : 下载模块(简写: npm i 模块名称)
- npm install 模块名@版本号 : 下载指定版本号的模块
- npm install --global 模块名称 : 下载全局的模块(类似于下载电脑中,无论项目在那个文件中都可以使用,简写: npm i -g 模块名称)
- npm uninstall 模块名 : 卸载模块
- npm update 模块名 : 更新模块
- npm uninstall 模块名@版本号 : 卸载模块(带版本号)
6.自动更新node.js代码
6.1安装nodemon包(全局)
npm i nodemon -g
6.2运行node.js文件(文件内容发生改变,会自动更新运行)
nodemon index.js
7.安装cnpm
npm服务器在国外,下载速度比较慢,可以使用cnpm,cnpm是淘宝镜像,服务器在国内,下载速度快
7.1安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
遇到SSL证书问题,可以尝试更新你的系统证书,或者暂时禁用 SSL 严格验证
如果要禁用,可以使用以下命令:
npm config set strict-ssl false
再重新安装cnpm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
安装完 cnpm
后,记得重新启用 SSL 验证:
npm config set strict-ssl true
7.2测试安装cnpm是否安装成功
cnpm -v
7.3安装依赖
项目中node_modules文件中包含了所有的依赖,可以在package.json里面查看所有的依赖信息,当使用别人的项目,或者自己项目中没有node_module文件时,可以使用 cnpm i 命令来安装