- 博客(56)
- 收藏
- 关注
原创 MVC概念
mvc的概念 概念:一种简单易懂,使用广泛的程序设计风格。使用了mvc风格的程序主要由3部分组成:控制器(controller)、视图(view)、模型(model) 理解 视图:指的程序的输出:比如用户操作界面或数据的处理结果。 控制器:指程序的逻辑部分。主要是指业务处理 模型:指数据本身。 好处 程序的代码结构清晰,维护方便 模块化编程,代码可复用 目的:优化项目文件架构 例子:以学生管理系统中的students模块为例 .
2022-04-12 02:26:00
368
原创 mongoose
概念是npm提供 的包,主要用于能够在nodejs中使用MongoDB的数据库并进行数据交互。mongoose本身提供了很多api来操作数据库,api就需要开发人员在nodejs程序中调用。作用能够使用程序来操作MongoDB数据库安装 mongoosenpm i mongoose在nodejs中连接数据库 声明db.js在db.js中开头引入模块后添加以下代码:const mongoose = require('mongoose');//引入mongooseconst d
2022-04-12 02:20:08
259
原创 mongoldb
概念MongoDB是一个开源的非关系型数据库。常用于作为项目的缓存数据库。因为本身提供了nodejs 可以操作的接口。所以在前端全栈工程项目中,也可以作为保存数据的仓库 本身需要进行安装使用,并且初始情况下,只能通过命令行的形式使用。不过可以使用第三方提供的可视化操作工具来间接操作MongoDB数据库-Navicat for MongoDB核心概念MongoDB数据库- 我们可以通过MongoDB来创建一到多个非关系型数据库。每个数据库都可以包含了多个集合。每个集合可以包含多个文档。文档在程
2022-04-12 02:09:27
923
原创 Node.js模块化
概念 背景:在团队协作中,不同成员会独立写自己负责的代码,比如A负责a.js,B 负责b.js. 如果a.js和b.js定义了同一个变量,那么在使用该两个文件时,会导致变量同名而报错的情况。即全局变量污染。解决->nodejs模块化 概念:nodejs中的模块化是指将每个js文件会被认为单独一个的模块。模块之间是互相不可见的。如果一个模块需要使用另一个模块,那么需要通过指定语法来引入要使用的模块,而且只能使用引入模块所暴露的内容。 语法:包括引入和暴露 引入模块 con
2022-04-12 01:57:46
427
原创 nodemon
nodemon 简介 实时监听代码变化类似于live server nodemon 官网 https://nodemon.io/ nodemon 使用 nodemon app.js 最好配合npm使用 (改变gackage.json) npm start
2022-04-12 01:38:03
426
原创 Express
Express 简介概念: Express是一个以nodejs为基础的web应用开发库。Express可以简化一个web应用的项目初始搭建。同时内部机制对nodejs进行包装,我们可以以更简单的方式来完成后端开发。 作用 自动搭建web应用项目的初始代码 提供了更好的api来完成后端开发 Express 安装并使用 安装:通过npm进行安装express: npm i express-generator 使用:在某个文件夹下使用命令来进行创建express项目并进行初始
2022-04-12 01:27:46
443
原创 npm使用手册
npm简介npm全名:node package managment:node包管理工具。这是是随着nodejs一起安装的。 关于包 包可以理解为某个第三方库,比如jQuery、bootstrap等每个都算一个包 作用: 用于统一管理项目所有需要的包。 需要的时候直接利用npm下载使用即可。 工作流程 首先,利用npm init来生成一个json文件:package.json,该文件就包含了该项目使用的所有的包(第三方库)以及对应版本。这样我们可以确定项目中使用了哪些第三方库。并且
2022-04-12 01:13:04
938
原创 前端?后端?
概念生活的角度理解 前端就是台面上的内容,后端就是台面下的内容。比如一个节目,观众所看到的节目效果就可以比喻成前端,那么幕后人员可以比喻成后端 前端: 从程序角度理解。前端是指通过技术来实现具有良好用户体验的web应用的交互界面。web应用主要是指网站和app。 后端 负责web应用的业务逻辑及数据处理。 后端主要分为服务器程序以及数据库程序两个部分 服务器: 从硬件上来将:就是提供网络服务的高配电脑 从程序上来讲:指的是可以接收数据和处理数据的程序。属于后端部分,
2022-04-12 01:02:57
1450
原创 Node.js
nodejs 简介 nodejs 安装&运行js文件 Nodejs 概念:本质是一个JavaScript运行环境,即可以脱离浏览器单独运行js代码。一般nodejs用于后端开发 特点 nodejs底层使用了JavaScript v8引擎。这个是谷歌开发的,迄今为止性能最好的JavaScript引擎之一,本身v8引擎是用c和c++语言写的。 本身js执行高效,所以一般会作为后端开发环境。即后端程序用JavaScript来编写。 使用 需要去官网下..
2022-04-12 00:57:12
686
原创 随笔...
10 分钟理解 BFC 原理 - 知乎CSS中的box-sizing属性定义了user agent应该如何计算一个元素的总宽度和总高度。background-clip - CSS(层叠样式表) | MDNbackground-clip 设置元素的背景(背景图片或颜色)是否延伸到边框、内边距盒子、内容盒子下面。两者配套使用background-origin - CSS(层叠样式表) | MDNbackground-origin:border-boxbackgroun...
2022-03-08 20:56:29
161
原创 JS高阶-刮刮乐
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>D.
2022-03-02 19:25:00
241
原创 Layui学生管理系统
index<!DOCTYPE html><html><head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"> <title>F80 layui layout </title> <link rel="sty
2022-02-17 19:00:25
1123
1
原创 JSON
全称 JavaScript Object Notationnotation 译为标记、注解,所以 JSON 也被称为 JavaScript 对象标记或JavaScript 对象表示法JSON用于存储和传输数据,作为一种数据交换格式道格拉斯.克罗克福特(Douglas Crockford) 设计出了 JSONJSON 数据格式 和 JS的区别 键值必须是双引号 不允许使用 function、undefined、symbol 允许的值: number、boolean、n
2022-01-20 17:05:59
520
原创 Javascript基础BOM和DOM
1.事件源:及绑定事件的元素2.事件类型:被JavaScript检测到的行为3.事件处理函数:一个函数,记录时间发生时要进行的操作,也叫做'事件句柄'或者'事件监听器',事件监听器更具DOM级别的不同写法,功能上也有区别。添加事件监听器1.Dom或Html事件监听器2.标准DOMO级事件监听器3.DOM2级事件监听器addEventListener('type',callback,boolean);btn.addEventListener('click',funciton(){.
2022-01-20 17:05:12
495
原创 JavaScript-对象
概述对象是一组数据的无序集合,对像拥有自己的方法和属性(数组是有序集合)对象要使用的一些数据--属性对象拥有的操作--方法创建对象字里量let obj = {};let obj ={ name:"zhangsan", age:'18', talk:function(){ }}构造函数let obj = new Object();obj.name = 'zhangsan';obj.age = 18;obj.talk = funct
2021-12-24 10:03:12
103
原创 JavaScript基础-function
概述为什么需要使用函数?重用:降低代码的重复性。维护:将功能分开写,更改一个函数就同时更改了所有使用到该函数的地方参数:比如一个函数实现了求1+...100的和,另一个需要求到200+...500的和内部功能都相同,只 是数字不同,这是就可以使用参数返回值:内部执行结果要给外部使用,可以返回出结果团队开发:分工协作同一个项目,个写个的功能,维护时又互不影响函数三要素名称(名称体现功能)参数返回值...
2021-12-16 16:21:30
1642
原创 JavaScript基础-数组(进阶)
扩展运算符let arr1 = [1,2],arr2 =[3,4];let arr3 = arr1.concat(arr2);let arr4 = [...arr1,...arr2]console.log(arr4);用concat 连接 然后...展开let arr1 =[1,2];let arr2 = [...arr1]console.log(arr1,arr2);把arr1的值传给 arr2,输出[ 1, 2 ] [ 1, 2 ]如果没有...就是直接把arr...
2021-12-16 14:57:02
973
原创 JavaScript基础-数组
多维数组多维数组可以看成是数组的数组(数组里面包含数组),比如二维数组就是一个特殊的一维数组,其每一个元素都是一个一维数组let arr1 = ['a', 'b', 'c'];let arr2 = [1, 2, 3];let arr3 = [arr1, arr2];//arr3 = [['a', 'b', 'c'],[1, 2, 3]]console.log(arr3[0][2]); //c表示访问的是arr3的索引为0的数组里面索引为2的数组`例:数组实现登录
2021-12-16 12:48:59
945
原创 JavaScript基础-数据结构
s数据结构概述1.所谓数据结构,就是计算机存储和组织数据的方式2.通俗来讲就是指:把数据以何种结构存储到计算机中3.在程序中最为常见的数据结构就是数组,这种结构将多个数据有序的排列在一起,形成一个组合4.数组是大多数语言里面最常见的一种数据结构,他是一个有序的指列表。数组中每个值叫做元素,每个元素在数组中都有一个唯一的位置。位置用数字表示叫做索引或者下标。下标取值冲0开始。数组就是一个数据有序的集合创建数组字面量: let arr =[];构造函数 :let ar...
2021-12-14 18:14:44
552
原创 JavaScript基础-循环
for循环for语句属于前测试循环语句,它具有在执行循环前初始化变量和定义循环后要执行的代码的能力for(初始化;测试;递增递减){ 循环体;}for(表达式1;表达式2;表达式3){ 表达式4;}for 循环执行步骤1.初始化确定循环的初屎值,只有在循环开始是执行一次2.测试:检查循环条件,为true就进入循环体执行表达式43.递增递减for(let i =0;i<3;i++){ console.log(i);}1-2-4-3 243 243
2021-12-13 18:16:38
229
原创 JavaScript-基础语法
NaN的数据类型为number NaN:非数console.log(typeof NaN);//number判断一个数是否为非数 isNaN(),如果是返回 false,不是数字返回 tureboolean他的值为 ture 和 false,任何数据类型都可以转换为boolean类型let n = 5;console.log(n,typeof n);console.log(Boolean(n),typeof Boolean(n));会返回 boolean 中 false .
2021-12-10 16:51:53
647
原创 09.生命周期
小程序中生命周期,分为四类:小程序生命周期 页面生命周期 组件生命周期 组件所在页面的生命周期小程序生命周期生命周期 参数 描述 onLaunch 无 在小程序初始化完成后执行(全局只触发一次) onShow 无 在小程序启动,或从后台进入前台时执行 onHide 无 在小程序从前台进入后台时执行 // app.jsApp({ onLaunch() { },})页面生命周期生命周期 参数
2021-08-26 15:03:16
47
原创 08.事件系统
事件类型小程序中的事件类型分为两类:冒泡型事件:当子组件的事件被触发后,该事件会向父节点传递; 非冒泡型事件:当子组件的事件被触发后,该事件会不向父节点传递;冒泡型事件列表触摸事件类型 触发条件 最低版本 touchstart 手指触摸动作开始 touchmove 手指触摸后移动 touchcancel 手指触摸动作被打断,如来电提醒,弹窗 touchend 手指触摸动作结束 tap 手指触摸后
2021-08-26 09:50:59
109
原创 07.自定义组件
创建自定义组件在项目根目录中创建一个components目录用来存放小程序中所有的自定义组件。1. 创建自定义组件当我们需要新建一个组件时,首先在components目录中新建一个文件夹,例如命名为floor,然后在floor文件夹中选择【新建 Component】,然后会生成四个同名文件。组件的json中,默认会生成一个属性,用来表示当前文件是一个组件:{ "component": true}2. 使用自定义组件在页面中如果需要使用自定义组件,需...
2021-08-25 10:49:56
83
原创 0.6数据渲染
设置初始数据每一个页面中都有一个.js文件,该文件调用了一个Page()方法,传入一个对象,对象中有一个 data 属性,用来设置当前页面的数据:Page({ data: { swiperImages: [ { id: 1, imageSrc: '/static/images/banner1.png' }, { id: 2, imageSrc: '/static/images/banner2.png' }, ...
2021-08-25 10:49:24
57
原创 05.静态页面和样式
组件微信小程序中提供了专门的组件来构建小程序页面结构,例如:<view>:容器组件,类似于 HTML 中的<div>; <text>:文本组件,用来设置所有的文本内容; <image>:图片组件 <navigator>:导航组件,类似于 HTML 中的<a>;例如我们在一个.wxml文件中设置以下代码:<view> <text>Hello Wechat</text>...
2021-08-25 10:48:42
66
原创 04.全局配置
新建的小程序中,默认生成的全局配置代码如下:{ "pages": [ "pages/index/index", "pages/logs/logs" ], "window": { "backgroundTextStyle": "light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "Weixin",
2021-08-25 10:46:20
1434
原创 0.3项目结构说明
新建成功的小程序项目,默认会生成以下几个文件:全局文件在项目根目录中,有 5 个文件,都是作为小程序的全局文件,即在当前小程序中的任何一个页面都可应用。app.js:用来对微信小程序进行全局配置和监听处理小程序的生命周期函数; app.json:用于注册小程序中的每一个新页面,以及小程序的窗口界面等相关配置; app.wxss:用于设置小程序的全局样式; project.config.json:开发工具的配置文件,用于工具的个性化配置,例如界面颜色、编译配置等等; sitemap.j
2021-08-25 10:45:35
185
原创 02.创建第一个小程序
准备工作注册小程序的开发账号从微信公众平台(https://mp.weixin.qq.com/)注册小程序开发者账号。安装微信开发者工具从微信官方文档(https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)中下载微信小程序的开发者工具。创建第一个小程序首次使用开发者工具,需要微信扫码进入。进入后通过以下方式新建小程序:说明:AppID 是我们在微信公众平台注册开发账号后,会自动分配一个
2021-08-23 15:58:55
35
原创 01.移动端开发
移动端应用H5 移动端页面 App 小程序移动端开发方式原生开发(Native App) 网页开发(Web App) 混合开发(Hybrid App) 跨平台移动端框架 跨 App 平台:React Native、weex、Flutter 跨 App、小程序、H5 平台:uni-app、Taro ...
2021-08-23 15:32:42
50
原创 内置模块 http
Nodejs 中提供了很多的内置模块,其中有一个 HTTP 模块,可以用来搭建 Nodejs 服务器。引入如果引入 Nodejs 的内置模块,只需要在 require 中传入模块名即可:const http = require('http');创建服务器http 模块提供了一个 createServer 的方法来创建服务器:const app = http.createServer((req, res) => { // 用来设置相应给浏览器的数据 res.
2021-08-05 09:57:14
126
原创 前端模块化
在 ES6 之前,前端是原生不支持模块化的。但是有 requirejs(AMD规范) 和 seajs(CMD规范) 两个库可以让我们实现前端模块化。从 ES6 开始,JS 原生的支持模块化开发了。JS 模块在 HTML 文件中,要让一个 JS 文件,变成一个 JS 模块,只需要在通过 script 引入该 JS 文件时,添加type="module"的属性:<script src="./a.js" type="module"></script>import..
2021-08-05 09:56:47
61
原创 Nodejs 模块化
模块化在前端代码中,一个 HTML 文件中引入的所有的 JS 文件,都共同拥有同一个全局作用域,也就意味着,这些 JS 文件互相之间是不独立的,是可以进行数据访问的。而在 Nodejs 中,引入了 模块化的概念。Nodejs 的模块化,就是将每一个 JS 文件都看作是一个独立的模块,都拥有自己单独的作用域。模块与模块之间,默认情况下数据不能进行互相的访问。require()在 nodejs 中,提供了一个全局的方法 require(),用于在一个 JS 文件中,引入另一个 JS 文件:
2021-08-05 09:56:12
168
原创 运行 JS 代码
在 Nodejs 中运行代码,实际是通过终端工具来运行 JS 代码。终端工具的选择:VSCode 中集成的终端工具 windows 系统自带的命令行工具运行代码首先,终端路径要定位到当前要运行的 JS 文件所在目录,执行以下命令来运行 JS 文件:node 文件名注:文件名不需要每次输入完整,一般输入首字符,按Tab键会自动补全文件名。 输入过的命令都会记录在历史记录中,可以通过键盘上下箭头来查找历史命令记录。终端常用路径切换命令 进入子目录(只能是当前路径的子..
2021-08-05 09:55:41
889
原创 Node.js 介绍
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时。Chrome V8 引擎所有的浏览器都拥有两类引擎:渲染引擎、JS 引擎。渲染引擎负责解析编译HTML、CSS代码;JS 引擎负责解析编译 JS 代码;V8 引擎,就是 Chrome 浏览器厂商开发的一款 JS 引擎,是现在公认的解析 JS 代码最快的引擎。JavaScript 运行时运行时,指的就是代码的运行环境。JavaScript 运行时,就是 JavaScript 代码的运行环境。下载安
2021-08-05 09:55:03
131
原创 插槽
基本语法Vue 中提供了 slot 组件用来设置插槽。子组件 Child.vue:<template> <h2> <!-- 插槽 --> <slot></slot> </h2></template>父组件:<template> <div> <Child>标题一</Child>
2021-07-29 16:29:46
52
原创 事件总线
事件总线,用来实现非父子组件之间的传值。原理在 Vue 应用中,再创建一个新的 Vue 实例,将它作为事件总线,来实现非父子组件之间的传值。// bus.jsimport Vue from 'vue';const bus = new Vue();export default bus;在需要接收数据的组件中,给 bus 添加事件:import bus from "../../utils/bus.js";export default { data() {
2021-07-29 16:29:08
54
原创 自定义事件
子组件修改父组件数据要修改某一个组件的数据,原则上是:数据在哪个组件内部,修改数据的方法也应该在同一个组件内。因此,当子组件想要修改父组件的数据时,就需要通过自定义事件。父组件设置自定义事件<template> <div> <Child @increment="increment"></Child> </div></template><script>import Ch
2021-07-29 16:27:38
42
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人