什么是Node.js
Node.js是一个开源和跨平台的基于Chrome V8引擎的JavaScript运行环境,它采用的是ECMA语法。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好,V8引擎执行Javascript的速度非常快,性能非常好,基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。
为什么要学习Node.js
- 了解node.js
- 了解后端的基础(读取本地文件、连接数据库、响应请求)
- 了解api接口,可以编写服务端api,让自己有能力实现独立开发项目
Node的使用
检测是否电脑是否正确安装了Node
win+R,然后输入cmd进入,通过node -v命令,可以看到是否正确安装了node,若能看到node的版本号,则说明node已经正确安装,反之,则说明没有正确安装,需要重新进行安装
初始化项目
继续上一步的操作,正确安装node后,先通过cd /+文件夹路径切换到项目的目录,然后输入指令npm init -y,回车即可初始化项目
使用第三方模块
1.安装模块:执行命令npm i axios -S
npm i axios -S
2.导入模块:const axios = require(“axios”);
const axios = require("axios");
3.axios.get(“url”).then(res => { })
axios.get("url")
.then(res => {
console.log(res);
})
使用自定义模块
- 定义模块:例:utils.js(创建一个js文件,命名随意)
module.exports = {max(){},randomStr(){}}
- 导入与使用
//第一种
//导入:
const utils = require('./utils.js');
//使用
utils.max(55, 88);
utils.randomStr();
//第二种
//导入:
const { max,randomStr } = require('./utils.js');
//使用:
max();
randomStr();
运行项目
- 配置命令
package.json -vscript
"serve":"node main.js"
npm run serve
- cmd运行:先进入项目目录,输入node main.js命令即可运行文件
Node操作sql
- 第一步:安装sql:npm i mysql -S
- 第二步:导入sql:
const mysql = require("mysql");
- 第三步:创建连接
const con = mysql.createConnection({
host: "localhost",//域名
user: "root",//用户名
password: "123456",//密码
database: "feed",//数据库
})
- 第四步:连接数据库
con.connect(function (err) {
if (!err) {
console.log("链接数据库成功");
}
})
- 第五步:定义sql
var sql = "select * from feedback where 1";
- 第六步:执行sql(result就是从数据库获取的数据)
con.query(sql, function (err, result) {
if (!err) {
res.end(JSON.stringify(result))
} else {
// console.log(err);
res.end(`{"code":1,"msg":"数据库错误"}`)
}
})
- 第七步:断开数据库
con.end(function (err) {
if (!err) {
console.log("数据库已经断开");
}
})
创建简单的内置服务器
- 第一步:导入http
const http = require("http");
- 第二步:创建服务
const server = http.createServer(function (req, res) {
//req请求的数据 res响应的数据
//设置响应码是200
res.statusCode = 200;
//设置响应头(返回前端的是json格式)
res.setHeader("Content-Type", "application/json");
//定义sql语句
var sql = `select * from feedback where limit ${(obj.current - 1) * 2},2`;
//执行sql语句result就是从数据库获取的数据
con.query(sql, function (err, result) {
if (!err) {
res.end(JSON.stringify(result))
} else {
// console.log(err);
res.end(`{"code":1,"msg":"数据库错误"}`)
}
})
})
- 第三步:监听端口
server.listen(8888, function () {
console.log("服务器,", "localhost:8888", "启动成功");
})