Node.js部分内容
1、Node.js 简介
- Node.js 是一个开源和跨平台的 JavaScript 运行时环境
- Node.js 在浏览器之外使用 Chrome V8引擎运行的JS环境
- V8 提供了 JavaScript 执行的运行时环境
注意
- 浏览器是JavaScript的前端运行环境
- Node.js是JavaScript的后端运行环境
- Node.js中无法调用 DOM和BOM等浏览器内置API
2、安装与配置
2.1 检查是否安装
打开终端,输入 node -v
,看是否出现版本号
- (切记先去node.js 官网下载)
- 不太明白的可以参考这篇博客:npm的安装及简单使用
2.2 初始化项目
step1: 切换到项目目录下
,创建文件夹
- 不会的可以看以下截图步骤
step2: 进行初始化 ,在终端输入npm init -y
3、项目运行(两种方法)
3.1 cmd 进入项目目录
根据自己创建的js文件运行,只需要node 文件夹名
- 比如
node demo
3.2 配置命令
- 在
package.json
文件中找到scripts
代码块,输入“serve”:"node main.js"
- 添加文件后,就可以使用
npm run serve
运行文件了
4、模块概述
4.1 使用第三方模块
- 切换到当前目录
cd / younode
- 安装模块
npm i axios -S
- 导入模块
const axios = require("axios")
- 使用模块
axios.get(url).then(res=>{
console.log(res.data) //此处的URL需要你自己替换一下
})
4.2 使用自定义模块
- 创建:一个js文件,命名为
utils.js
,定义模块,代码自己输入,以下代码仅供参考~
module.exports = {
max(a, b) {
if (a > b) {
return a;
} else {
return b;
}
},
randomStr() {
return Math.random().toString(32).slice(2);
},
};
- 导入:在
demo.js
(js文件名自己命名)文件输入一下代码
const utils = require("./utils.js");
var big = utils.max(19999, 9494885);
console.log(big);
var str = utils.randomStr();
console.log(str);
- 使用:在终端 调用
node demo
(此处的demo为导入时创建的文件夹,记得调用时保持一致)
4.3 fs文件系统模块
Node.js官方提供的,用来操作文件的模块,它提供了一系列的方法和属性,用来满足用户对文件的操作需求
fs.readFile() 方法
,用来读取指定文件中的内容
- 同步
const fs = require("fs");
const txt = fs.readFileSync("./first.txt", "utf-8");
console.log(txt);
console.log("文件读取完毕");
- 异步
//异步
fs.readFile("./first.txt", "utf-8", function (err, data) {
if (!err) {
console.log(data);
}
});
console.log("文件读取完毕");
fs.writeFile()方法
,用来向指定的文件中写入内容
- 同步写入
fs.writeFileSync("./write.txt", "你喜欢前端课程嘛");
console.log("写入完毕");
- 异步写入
fs.writeFile(
"./wrote.txt",
"啥时候过年啊,我是异步写入的,你明白吗",
"utf-8",
function (err, data) {
console.log(err, data);
}
);
5、node 操作sql
5.1 安装数据库
- 检测是否安装成功
在终端窗口输入 mysql -u root -p
和自己安装MySQL时的密码
回车看到以下代码,就代表安装成功:
- 安装mysql
在终端窗口输入npm i mysql -S
注意:此截图目录和上述的不是一个目录,是两个文件夹,自己的保持一致就行
5.2 连接数据库
以下代码新建一个js文件,命名为index.js
- 导入
const mysql = require("mysql");
- 创建连接
const conn = mysql.createConnect({
host: "localhost", //域名
user: "root", // 用户名
password: "mysql", //密码(此处是你自己安装mysql时设置的)
database: "feed", //数据库(你自己创建的数据库)
})
- 连接数据库
conn.connect(function (err) {
if (!err) {
console.log("连接数据库成功");
}
});
- 定义sql
var sql = "select * from feedback where 1"; //feedback 是你自己创建的数据库表名
- 执行sql
conn.query(sql, function (err, res) {
if (!err) {
console.log(res); //res从数据库获取的数据
} else {
console.log(err);
}
});
- 断开数据库
// conn.end(function (err) {
// if (!err) {
// console.log("数据库断开");
// }
// });
5.3 内置服务器创建
- 导入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语句 result是数据库返回的数据
conn.query(sql, function (err, result) {
if (!err) {
res.end(JSON.stringify(result));
} else {
res.end(`{"code":1,"msg":"数据库错误"}`);
}
}
- 监听端口启动服务器
server.listen(8888, function () {
console.log("服务器", "localhost:8888", "启动成功");
});
- 在终端中运行
node index
- 然后在浏览器 输入
localhost:8888
6、MySQL 查询命令
6.1 指定列查询
select `msg`,`name` from `feedback` where 1
6.2 查询所有
select * from `feedback` where 1 查询所有
6.3 添加查询条件
select * from `feedback` where name='天天快乐'
6.4 按时间排序 降序
select * from `feedback` where 1 order by `datetime` desc
6.5 按时间排序 升序
select * from `feedback` where 1 group by `datetime` asc
6.6 _代表任意一个字符串
select * from `feedback` where msg like '明天_%'
6.7 查询msg 中包含 xx元素
- 查询msg中包含明天的元素 %代表任意字符
select * from `feedback` where msg like '%明天%'
6.8 查询 偏移
- 查询 偏移2个 截取3行
select * from `feedback` where 1 group by `datetime` desc limit 2,3
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/46289.html