九、英雄管理(cqmanager)系统
查看源码 准备 mysql-ithm的使用 安装npm i mysql-ithm 使用 参照文档即可。 简单示例 12345678910111213141516171819202122232425262728293031323334353637383940414243// 导入模块const hm = require("mysql-ithm");//2.连接数据库//如果数据库存在则连接,不存在则会自动创建数据库hm.connect({ host: "localhost", //数据库地址 port: "3306", user: "root", //用户名,没有可不填 password: "root", //密码,没有可不填 database: "cqmanager502", //数据库名称});//3.创建Model(表格模型:负责增删改查)//如果table表格存在则连 ...
八、NPM包管理
如何写NodeJs模块 遵守CommonJS规范。 导入模块 暴露出去(导出) 一个简单的示例: 12345678910111213// 定义一个对象let db = { baseUrl: "http://127.0.0.1:3000/", insert: function () { console.log("插入方法"); }, delete: function () { console.log("删除方法"); },};// 将其暴露出去module.exports = db; 在我们的模块中定义一个对象,并将其暴露出去。接下来在我们自己的js文件中去使用这个对象。 12const myMoudle = require("./01-自己写的模块.js");myMoudle.insert(); 写一个自己的模块 NPM发布包 进入待发布的目录,然后初始化目录npm i ...
七、NodeJs数据库管理
建表 MySQL程序可以使用PHP study集成工具。链接、操作数据库可以使用phpstudy自带的工具也可以使用navicat工具。 SQL语句-增删改查 插入数据 1insert into 表名(字段名1,字段名2) values(值1,值2); 例如: 1insert into user(name,description) values('陈浩南','铜锣湾扛把子'); 删除数据 1delete from 表名 where 条件; 条件一定要写,如果不写则会删除该表中所有的数据删除。 例如: 1delete from user where id>3; 修改数据 1update 表名 set 字段名1=新值1,字段名2=新值2 where 条件; 条件一定要写,如果不写则会修改数据表中的全部数据 例如: 1update user set name='子风兄',description='比波波还骚' where id=3; 查询数据 1select * from 表名 [wh ...
六、中间件与跨域
什么是中间件 在路由相应之前就会执行中间件的内容,例如在中间件中进行赋值,这种就可以在路由执行时使用这个值。 所以中间件就是服务器开启之后和路由响应之前执行的一个函数。这个函数可以操作req与res。使用next()向下传递到下一个中间件,最后传到路由。 例如开启三个中间件的写法: 1234567891011121314app.use((req, res, next) => { console.log("中间件1"); req.requestTime = Date.now(); next();});app.use((req, res, next) => { console.log("中间件2"); next();});app.get("/", (req, res) => { console.log(Date.now() - req.requestTime); res.send("Hello World!");}); ...
五、express实战-英雄管理系统
查看源码 后端路由 简单来说,注册路由就是写接口 登录接口 登录接口实现很简单,只需要接收post传来的参数,然后进行验证即可。 123456789101112131415161718192021222324const express = require("express");const bodyParser = require("body-parser");app.use(bodyParser.urlencoded({ extended: false }));// 登录接口app.post("/login", (req, res) => { // 接收用户传递过来的用户名和密码 let { username, password } = req.body; if (username == "admin" && password == "123") { ...
四、node服务器搭建
什么是端口 一台电脑可以部署多个服务器,根据端口不同找到不同的服务器。 默认的http端口为80端口。 web服务器读取网页并返回 使用http模块开启一个服务器 在服务器内部读取文件,将读取到的字符串内容作为服务器的响应返回 12345678910111213141516171819const http = require("http");const fs = require("fs");const path = require("path");const server = http.createServer((req, res) => { // 拼接路径 const filePath = path.join(__dirname, "index.html"); fs.readFile(filePath, "utf-8", (err, data) => { if (err == null) { // 返回页面 ...
三、nodejs模块使用和其他
内置模块的基本使用(删除文件) 123456789101112const fs = require("fs");/** * 删除文件 * @param {string} "./temp/test.txt" 被删除文件的路径 * @param {function} (err) 回调函数,将错误信息传入其中 */fs.unlink("./temp/test.txt", (err) => { if (err) throw err; console.log("已成功删除 test");}); fs模块读文件 1234567891011121314const fs = require("fs");/** * 读取文件信息 * @date 2020-07-01 * @param {sting} "./temp/t.txt" 文件路径 * @param {sting} ...
二、ES6新语法
let关键字 特点 var关键字 let关键字 变量提升 √ × 作用域 没有块级作用域,是函数作用域 有块级作用域 重复声明 √ × 重新赋值 √ √ 变量提升 12console.log(age);let age = 38; 作用域 12345for (var i = 0; i < 10; i++) {}console.log(i);for (let n = 0; i < 10; i++) {}console.log(n); 图中可对比看出,如果用var声明,在循环外部还是可以使用i变量;但用let声明变量,循环外部不可以使用n变量 不可重复声明 123let num2 = 10;let num2 = 20;console.log("num2: ", num2); 重新赋值 123let num2 = 10;num2 = 20;console.log("num2: ", num2); const关键字 使用场景 一些不会变化 ...
一、Node.js入门
什么是NodeJs NodeJs是一个基于谷歌V8引擎的运行环境。(服务器上的v8引擎就是node.js) 其作用是让js拥有开发服务端的功能 环境安装 官方地址:https://nodejs.org/zh-cn/ 安装完成后,添加环境变量。命令行终端输入node -v即可输出版本号。 同样的,安装完NodeJs之后会自动安装npm(node package manager)。输入npm -v也会出现版本号。 npm可以到NPM去寻找包,类似GitHub。 运行NodeJs VSCode中使用RunCoder插件 终端 注意路径问题,执行命令为node 文件名 VSCode中的终端同理。 双击node.exe,在其内编写代码 服务器端与浏览器端 服务端的JavaScript只有ECMAScript,也就意味着在NodeJs