src/**/*"], "exclude": ["src/types/*.ts", "node_modules", ".vscode"] } outDir: 告诉编译器,把编译好的 js 文件输出到...yarn add -D @types/node @types/express @types/mongoose @types/cors 安装用来编译 Typescript 的concurrently...id", updateTodo) router.delete("/delete-todo/:id", deleteTodo) export default router 好了现在基本的方法对应的路由就构建好了...app.ts import express, { Express } from 'express'; import mongoose from 'mongoose'; import cors from...; // post 请求处理 app.use(bodyParser.urlencoded({ extended: false })); app.use(todoRoutes); // 咋们的 api 路由处理
基础路由 在pages下面新建一个vue文件就会生成一个对应的路由,文件名就是路由名。...fetch 该方法用于渲染页面(页面组件加载前被调用【服务端或切换至目标路由之前】)前填充应用的状态树(store)数据,与asyncData方法类似,不同的是它不会设置组件的数据。...mongoose Mongoose:一款为异步工作环境设计的 MongoDB 对象建模工具。...mongoose.model() 方法将模式“编译”为模型。模型就可以用来查找、创建、更新和删除特定类型的对象。 注:MongoDB 数据库中,每个模型都映射至一组文档。...这些文档包含 Schema 模型定义的字段名/模式类型。
接入 MongoDB 数据库 解决数据持久化存储最流行的方案无疑是数据库,而 MongoDB 凭借其优异的性能、可扩展性和灵活的数据模式,从众多数据库产品中脱颖而出。...const mongoose = require('mongoose'); const Schema = mongoose.Schema; const model = mongoose.model.bind...这里的 model 就是经典的 MVC 设计模式中的 Model。...所有访问 /api/v1 及其子路径如 /api/v1/xxx 都会激活 api 处理函数,在经典的 MVC 设计模式中,api 也被成为 Controllers 。...小结 自此,我们的 API 服务器就搭建完成了,在这篇教程里面我们学到了如下知识: •了解 Express 的路由以及如何用 mongoose 连接 MongoDB 数据库•编写路由、Model 和 Controllers
,控制地址路由 views是视图文件,放置模板文件ejs或jade等(其实就相当于html形式文件啦~) express这样的MVC框架模式,是一个Web项目的基本构成。...3:新建一个models文件夹,在该文件夹下新建user.js并且写好代码 var mongoose = require("mongoose"); // 顶会议用户组件 var Schema = mongoose.Schema.../ 创建模型 var userScheMa = new Schema({ userid: String, password: String }); // 定义了一个新的模型,但是此模式还未和...users集合有关联 exports.user = mongoose.model('users', userScheMa); // 与users集合关联 4::在routes目下的index.js配置路由...: var express = require('express'); var router = express.Router(); var mongoose = require('mongoose')
compression压缩处理请求响应、cors模块添加跨域、helmet安全模块、body-parser解析请求参数、jsonwebtoken用于生成及校验token、使用内置cluster模块开启多进程模式.../app/models/user'); // get our mongoose model var Routes = require('..../routes'); // get our mongoose model var Authorize = require('....POST'], alloweHeaders: ['Conten-Type', 'x-access-token'] })); app.use(compression()); //受token保护的路由...访问受保护的路由: ? 根据用户名密码获取token: ? 发送错误的token: ? 发送正确的token: ?
7.实现学生信息展示功能 3.第三方模块router 功能:实现路由 使用步骤: 1.获取路由对象 2.调用路由对象提供的方法创建路由 3.启用路由,使路由生效 const getRouter = require...= require('mongoose'); // 连接数据库 mongoose.connect('mongodb://localhost/playground', { useNewUrlParser...= require('mongoose'); // 创建学生集合规则 const studentsSchema = new mongoose.Schema({ name: { ...('Student', studentsSchema); // 导出学生集合 module.exports = Student; 4.实现路由功能 // 引入路由模块 返回值为方法 const getRouter...req.on('data', param => { formData += param; }); // querystring.parse()方法,能把字符串转换成对象模式
urlencoded 的表单Booleantrueformidable配置更多的关于 multipart 的选项Object{}onError错误处理Functionfunction(){}stict严格模式...,启用后不会解析 GET, HEAD, DELETE 请求Booleantrue formidable 的相关配置参数 参数名描述类型默认值maxFields限制字段的数量Integer500maxFieldsSize...,为它们一个个写路由就很麻烦,也没必要。koa-static模块封装了这部分的请求。...安装 mongoose npm install mongoose -S 连接及配置 const mongoose = require("mongoose"); mongoose.connect(...); mongoose.connection.on("error", console.error); 用户的 CRUD 项目中的模块是比较多的,我不会一一去演示,因为各个模块实质性的内容是大同小异的
为什么要用node 最主要的一点是其他语言咱也不会啊。。。 ?...router.use(路由模块.routes()) ... router.use(路由模块.routes()) // 测试路由连接 router.get('/test-connect', async...不过这个项目除了使用mysql,也还有用到mongo,接下来看看mongodb怎么用 使用mongoose作为mongodb的中间件 // mongoose入口 import mongoose from...) => { log('Mongoose connection disconnected') }) export default mongoose // 定义表模型 import mongoose...swaggerJSDoc(options) : null } export default createDOC // 怎么 配置示例 - 这边一定要注意格式 @swagger Tips: 必须要声明,不然代码不会把此处生成为文档
'这是Node.js版本' '//入口文件使用了两个路由器路由,分别处理get和post请求逻辑。...即使是同一个路由,但是请求方式不一样,他们的处理逻辑不会冲突' const express = require('express'); const db = require('....1.路由模块的核心,一个路由处理一个逻辑 2.res.end / send / render 后面再写逻辑也不会执行了,因为已经返回响应。..., 然后根据那个路由的逻辑处理,此时浏览器中的url会改变。...= require('mongoose'); module.exports = new Promise((resolve, reject) => { mongoose.connect('mongodb
www启动文件,默认的端口是3000,如果不合适我们可以手动修改 node_modules这个目录下面是我们安装的所有依赖 pubilc这个文件夹下是我们前端存放静态资源的 routes这个文件是存放路由的...数据库 安装 npm i mongoose -S 完成安装之后我们需要在app.js里引入并且配置数据库 //app.js //引入数据库 const mongoose = require('mongoose...接下来就是我们平时常说的mvc模式下的m和c部分了,为了结构清晰,便于维护我们分成四部分scheme,model,controller,api scheme 在项目的根目录下创建scheme文件夹,因为这里项目简单我们就创建一个...const mongoose = require("mongoose"); const Scheme = mongoose.Schema; const ObjectId = mongoose.Types.ObjectId...= require("mongoose"); const model = mongoose.model.bind(mongoose); const scheme = require("..
2.3 原文输出 如果数据中携带HTML标签,默认模板引擎不会解析标签,会将其转义后输出。 标准语法:{{@ 数据 }} 原始语法: <!...连接数据库并根据需求设计学员信息表 /* connect.js*/ // 引入数据库模块 const mongoose = require('mongoose'); mongoose.connect('...('数据库连接成功')) .catch(() => console.log('数据库连接失败')); 学员信息表 /* users.js*/ const mongose = require('mongoose...'); // 创建学生集合规则 const studentsSchema = new mongoose.schema({ name: { type: String,...实现学生信息展示功能 3.3 第三方模块 router 功能:实现路由 使用步骤: 1.获取路由对象 2.调用路由对象提供的方法创建路由 3.启用路由,使路由生效 ?
而非关系型数据库以键值对 (key-value) 存储,它的结构不固定,每一条记录可以有不一样的键,每条记录可以根据需要增加一些自己的键值对,这样就不会局限于固定的结构,可以减少一些时间和空间的开销。...2.1 主要特性 面向集合存储,易于存储对象类型的数据 模式自由 支持动态查询 支持完全索引,包含内部对象 支持复制和故障恢复 使用高效的二进制数据存储,包括大型对象 文件存储格式为 BSON (一种...下载地址 4 Koa + Mongodb 操作 4.1 安装链接 npm i mongoose -Sconst mongoose = require('mongoose') // 默认 27017 端口...如果需要的话可以在查表时使用 select 关键字password: { type: String, required: true, select: false // 不会返回 } await...ctx.params.id)) { ownUser.following.push(ctx.params.id) ownUser.save() } ctx.status = 204 }使用put方法注册路由
链接数据库 cnpm install mongoose 4.2然后在你的入口文件引入(app.js), const mongoose require('mongoose') 4.3在我们的根目录创建一个...然后通过mongoose链接数据,最后在控制台可以看到我们已经链接成功了,到现在为止,数据已经链接配置好了,接下来接开始写接口 5.接口路由搭建和数据模型 5.1在我们的根目录下创建一个router...>>> api >>> useinfo.js文件,这个用于存放我们的请求接口的路由文件; 5.1.1在userinfo文件中引入express和路由,先写一个get请求方法, 5.2.2...需要在我们的app.js文件引入userinfo.js文件,并使用router中间件,不然不会生效 /api/userinfo:这个相当于我们访问的接口地址 //引入userinfo.js const...5.4编写路由接口,实现数据的添加,删除,修改功能 在我们路由文件userinfo引入数据模型Userinfo文件,这样我们就可以查询数据库中是否有这些字段名了 const Userinfo =
之后的讲解 我们从目录开始 --node_modules 项目中依赖的包 --public 公共资源放的目录 --routes 学名 路由,里面放着一些路由文件 --views 放着就是页面文件了 --...var mongoose = require('mongoose'); var db = mongoose.connect('mongodb://localhost/chihuo');//;连接数据库... }); // 定义了一个新的模型,但是此模式还未和users集合有关联 exports.user = db.model('users', userScheMa); // 与users集合关联 3.接着在...stylesheet' href='/stylesheets/style.css' /> 登陆成功 4.最后就是路由的控制了...github地址:https://github.com/songtanjichuan/chihuo_0.0.1.git mongoose参考地址:http://www.hubwiz.com/course
,控制地址路由 views是视图文件,放置模板文件ejs或jade等(其实就相当于html形式文件啦~) express这样的MVC框架模式,是一个Web项目的基本构成。...var mongoose = require("mongoose"); // 顶会议用户组件 var Schema = mongoose.Schema; // 创建模型 var userScheMa...= new Schema({ userid: String, password: String }); // 定义了一个新的模型,但是此模式还未和users集合有关联 exports.user...= mongoose.model('users', userScheMa); // 与users集合关联 4::在routes目下的index.js配置路由: var express = require...坚持总结工作中遇到的技术问题,坚持记录工作中所所思所见,对于博客上面有不会的问题,可以加入qq技术交流群聊:473819131。
AJAX交互 实战:留言板、登录、注册等 HTML5中高级开发工程师 面向对象基础 面向对象概述 对象和构造函数(类)之间的关系 对象的属性和方法 原型与原型链 包装对象与内部实现 对象中实现继承方式 设计模式及实际运用...mongodb非关系数据库 mongodb安装与db操作 mongodb增删改查 mongodb与node结合开发 mongoose数据建模 mongoose与node结合开发 express框架 中间件与...:公众号与小程序项目同步开发 HTML5大神级开发工程师 VueJS框架 Vue框架简介 渐进式与响应式 模板语法与计算属性 指令与数据处理器 生命周期 组件与组件通信 Vuex状态管理 Vue动画与路由...脚手架使用 实战:React与Node全栈开发 AngularJS框架 Angular框架简介 TypeScript基础与进阶 开发环境配置 架构、模块与组件 模板、元数据与数据显示 服务于指令 依赖注入 路由...React Native 前端架构 单元测试与编写测试用例 自动化测试方案 前端安全与HTTP协议 项目上线与一键部署 数据统计与SEO优化 搭建组件库与按需载入 浏览器渲染与浏览器引擎 深入理解后端开发模式
这篇文章是基于我多年来在处理一些糟糕的 Node.js 项目结构、不好的设计模式以及无数个小时的代码重构经验的探索研究。...其思想是使用关注点分离原则将业务逻辑从 Node.js API 路由中移开。 ? 图片描述 因为有一天,您将希望在一个 CLI 工具上来使用您的业务逻辑,又或从来不使用。...从 Express.js 的路由器移除你的代码。...让我们看一下经典的 Express.js 应用初始化 const mongoose = require('mongoose'); const express = require('express...import * as mongoose from 'mongoose' export default async (): Promise => { const connection
关注点分离的原则确保了组件不会重复,从而使系统更加容易维护和重构。 关注点分离原则认为,业务逻辑应该与控制器分离。这简化了控制器的开发和测试用例的编写。 关注点分离原则有助于提升代码的可重用性。...这个概念本质上指的是一种架构模式,程序逻辑与程序内容和表示是分离的。这会让项目变得更加容易维护,并且不容易出现重复。它还简化了团队协作和变更的实现。 Node.js 项目可以有多种组织方式。...遵循这种架构模式的项目通常具有这样的结构: └───app.js # 应用程序的入口└───api # 包含控制器、路由和中间件 └───config...db-loader.js import mongoose from 'mongoose';import dotenv from 'dotenv'; import options...中间件可能会保护这些路由,也可能不会。路由的主要功能是在请求到达时处理请求。 例如,POST 请求创建路由并期望数据被发布或传递。
,控制地址路由 views是视图文件,放置模板文件ejs或jade等(其实就相当于html形式文件啦~) express这样的MVC框架模式,是一个Web项目的基本构成。...,让浏览器访问到路径后得以被解析 app.use('/', routes); // 即为为路径 / 设置路由 app.use('/users', users); // 即为为路径 /users 设置路由...app.use('/login',routes); // 即为为路径 /login 设置路由 app.use('/register',routes); // 即为为路径 /register 设置路由...app.use('/home',routes); // 即为为路径 /home 设置路由 app.use("/logout",routes); // 即为为路径 /logout 设置路由 app.use...比如定义一个Schema: var mongoose = require("mongoose"); var TestSchema = new mongoose.Schema({ name :
领取专属 10元无门槛券
手把手带您无忧上云