Node单词大全

本文详细介绍了NodeJS的核心概念,如事件驱动、文件系统操作,并演示了如何使用Express创建Web服务器。此外,还讲解了MongoDB数据库的使用,包括连接、数据读写以及Mongoose包的操作。内容涵盖了从基本的文件读写到复杂的数据库操作,以及Promise的使用,适合初学者入门。
摘要由CSDN通过智能技术生成

Node单词大全

NodeJS单词大全
  0~9
     node:节点,茎节;(根或枝上的)瘤,节,结,结点;
     event:事件; //
     driven:驱动;奋发努力的;发愤图强的;受…影响的;由…造成的,驾驶,开车;驾车送();拥有(或驾驶)…汽车 //
     read:v.读到; 识字;阅读;读懂;;朗读;查阅到 n. 阅读;读书;好的(或有意思等的)读物;好书(或文章等) adj. 博学的;熟知的;精通的 //
     file:文件,文件夹;卷宗;(计算机的)文件;档案 v. (文件等)归档;提起(诉讼);提出(申请);送交(备案);发送(报道给报社)//
     require:需要;依靠;依赖;使做(某事);使拥有(某物);(尤指根据法规)规定 //require() 是一个全局函数
     let fs = require('fs'); //1,使用require方法加载fs文件系统核心模块
     fs.readFile('./01_Node简介.js', function (err, data) {} //读取文件数据,data是一个16进制的数据,我们可以通过toString方法把其转为我们能认识的字符串
     fs.writeFile('./03_你好.md', '大家好,给大家介绍一下,我是Node.js', function (err) {} //重新写入文件数据
     let http = require('http'); // 1,使用require()方法引入http核心模块
  10~19
     let server = http.createServer(); // 2,使用http.createServer()方法创建一个Web服务器,返回一个Server实例
     server.on('request', function (request, response) {} //注册request请求事件,当客户端请求过来,就会自动触发服务器的request请求事件,然后执行第二个参数:回调处理函数
     request.url:请求路径;
     request.socket.remoteAddress:地址号;
     request.socket.remotePort:端口号;
     response.setHeader('Content-Type', 'text/plain; charset=utf-8'); //告诉浏览器采用什么编码,Content-Type对照表 : https://tool.oschina.net/commons
     response.write('hello server'); //写入响应体内容
     response.end(); //响应处理完成后需要调用response.end()方法,end中也可以写入响应内容
     server.listen(8000, function () { console.log('服务器启动成功,8000端口正在监听中,通过http://127.0.01:8000来访问服务器 ...'); //,控制台ctrl+c结束服务 }); // 4,绑定端口号,启动服务器
     server:服务器; //
  20~29
     request:请求; //
     response:响应; //
     os:(计算机)操作系统;(国防部/国防系统管理学院)开放系统;观察中队(Observation Squadron) //
     let template = require('art-template'); //引入模板引擎
     let resData = template.render(data.toString(), {替换对象}) //render()方法渲染时替换了指定内容
     global:全局的,全球的;
     Express:表示;表达;表露;表达(自己的思想感情);显而易见;不言自明 adj. 特快的;快速的;快递的;用快递寄送的;提供快递服务的 adv. 使用快速服务 n. 特快列车;快件服务;快递服务;快运服务 //
     arr.find(function(item,index,arr){ return XXX}) //返回符合指定条件的第一项
     arr.findIndex(function(item,index,arr){ return XXX}) //返回符合指定条件的第一项的索引
     MongoDB:数据库类型; //
  30~39
     mongoose:第三包,使用MongoDB数据库的相关接口 //
     Schema:模式;图式;架构;方案;基模;
     "mongo"命令默认连接本机的开启的MongoDB服务 //
     "exit"命令断开连接的MongoDB服务 //
     "show dbs" => 查看所有数据库//
     "db" => 查看当前操作的数据库//
     "use 数据库名称" => 切换到指定的数据库(如果没有则自动新建)//
     "db.属性名.insertOne({数据})" => 插入数据//
     "show collections" => 显示所有表(表是一种存储联系,:students,teachers,people,famlae,mlae)//
     "db.属性名.find()" => 查找并显示此属性储存的数据 //
  40~49
     var mongoose = require("mongoose"); //1,引入mongoose
     mongoose.connect('mongodb://localhost/text', { useMongoClient: true }); // 2,连接开启的 MongoDB数据库
     var Cat = mongoose.model('Cat', { name: String }); // 3,创建一个模型,就是在设计数据库 ,MongoDB 是动态的,非常灵活,只需要在代码中设计你的数据库就可以了。 mongoose 这个包就可以让你的设计编写过程变得非常的简单
     var kitty = new Cat({ name: '喵喵王' }); // 4,实例化一个Cat
     kitty.save(function (err) { if (err) { console.log(err); } else { console.log('写入成功'); } }); // 5,持久化保存 kitty实例,+ 数据库(一个数据库可以有多个集合(表)) + 集合(数据表,里面存放文档)(一个集合中可以有多个文档(表记录)) + 文档(文档结构很灵活,没有任何限制) + MongoDB非常灵活,不需要像MySQL一样先创建数据库,表,设计表结构 - 当你需要插入数据的时候,只需要指定往哪个数据库的哪个集合操作就可以了 - 一切都由MongoDB来帮你自动完成建库建表这件事
     var Schema = mongoose.Schema; //拿到Schema表结构构造函数(schema:架构,结构,模式,图解;) //
     mongoose.connect("mongodb://localhost/itcast"); //1,连接MongoDB数据服务
     var blogSchema = new Schema({ title: String, //title属性的类型要为String author: { type: String, required: true //author的类型为String且author属性为必要属性 }}); // 2,设计集合结构(表结构)
     var Blog = mongoose.model('Blog', blogSchema);// 3,当我们有了模型构造函数之后,就可以傅这个构造函数对User中的数据为所欲为了
     var b1 = new Blog({ title: '叫我第一名', author: "小男孩" }); //4,生成表结构实例
  50~59
     b1.save((err, ret) => {}); // 5,保存文档实例
     Blog.find(function (err, data) {}); //6,数据库内查询所有数据
     Blog.find({author:"小男孩"},function (err, data) {}); //6,数据库内依照条件查询所有匹配的数据
     Blog.findOne({author:"小男孩"},function (err, data) {}); //6,数据库内依照条件查询第一个匹配的数据
     Blog.findByIdAndUpdate('60a482a3744a6232a8755b41',{author:"小女孩"},function (err, data) {}); //6,数据库内依照_id查询数据并替换旧内容
     Blog.findByIdAndRemove("60a488fe22e3583ac8766b0c", function (err) {} //根据id删除一个
     Blog.findOneAndRemove({ author: '小男孩' }, function (err) {}); //根据条件删除第一个
     Blog.remove({ author: '小男孩' }, function (err) {}); //根据条件删除所有
     promise:v. 承诺;许诺;答应;保证;使很可能;预示 n. 诺言;许诺;承诺;获得成功的迹象,吉兆,迹象; //
     function Pro_obj(){ return new Promise((resolve,reject)=>{resolve(data_XX)}); } new Promise((resolve,reject)=>{ resolve(data_XX)).then((data)=>{return Pro_obj(data)}).then((data)=>{return Pro_obj()}).then((data)=>{return Pro_obj()}).then((data)=>{console.log(data,"then链式调用结束")}) ; //Promise对象的then链式调用 , 异步任务的结果要到下一个then中使用,那个then返回Promise对象且异步任务的结果数据也会到下一个then中处理
  60~69
     var express = require("express"); /* 引入express服务框架 */ //
     var path = require("path"); /*路径核心模块 */ //
     app.use("/public/", express.static(path.join(__dirname, "./public/"))); /* 开放静态资源目录 */ //
     app.use("/node_modules/", express.static(path.join(__dirname, "./node_modules/")));
     app.engine('html', require("express-art-template")); /* 引入express-art-template模板引擎,默认模板库为主目录的"./views"文件夹,其中的.html将视作模板 */app.set("views", __dirname); /*设置模板库路径 */ //
     app.get('/', function (req, res) { res.render("./31_index.html"); }); /* 请求处理 */ //
     app.listen(5000, function () { console.log("running......"); }); /* 开启服务监听 */ //
     express-session:数据加密第三方包 //"npm install express-session", 该插件会req请求对象添加一个成员:req.session默认是一个对象
     app.use({ secret: "itcast", resave: false, saveUninitialized: false //无论你是否使用Session,默认直接给每个用户分配一把钥匙 }); // 配置加密字符串,它会在原有加密基础之上和这个字符串拼起来去加密 // 目的是为了增加安全性,防止客户端恶意伪造
     request.session.foo = "bar" //添加Session数据
  70~79
     request.session.foo //使用Session数据
     request.session.XXX=nulldelete(request.session.XXX) //删除Session
     app.use(function (req, res, next) { next(err);//到达下一中间件,没有此语句不会进入下一个中间件}//所有请求都会进入 //
     app.use(function (err, req, res, next) { console.log(err,err.message)} //当发生错误的时候,我们可以调用next传递错误对象,然后就会被全局错误处理中间件匹配到并处理它,在前面使用了next(err)则直接跳到此中间件(带err参数)
     router:路由; //
     var express = require('express'); //1,引入express
     var fs = require('fs'); //
     var Student = require('./student.js'); // 引入自己编写专门处理 students.json中的数据操作的模块
     var router = express.Router(); //2,生成路由容器
     router.get('/', function (req, res) {} //3,添加一系列路由映射关系
  80~89
     res.redirect('/'); //服务器端重定向至 "/"首页
     module.exports = router;  4,导出路由容器
     app.engine('html', require('express-art-template')); app.set('view options', { debug: process.env.NODE_ENV !== 'production' }); app.set("views", path.join(__dirname, "./views/")); //express-art-template相关配置,设置模板库在主目录下views文件夹
     app.use(bodyParser.urlencoded({ extended: false })); app.use(bodyParser.json()); // body-parser相关配置
     app.use(router) // 5,挂载路由容器
     案例流程:https://blog.csdn.net/Java_53/article/details/117332376 //综合案例模板
     //
     @沉木 2021/5/27

@沉木

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值