自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (6)
  • 收藏
  • 关注

原创 测试用例评审及如何做好测试用例评审

测试用例评审及如何做好测试用例评审什么是测试用例评审?测试用例评审是通过测试人员组织用例评审会议,邀约项目相关人员,主要包括产品,开发及测试三方,对测试人员设计的测试用例的可执行性和全面性进行评估,同时消除各方对需求文档理解的偏差达到对需求理解的一致。测试用例评审是测试流程中极为关键的一环,用例评审何为如此重要?首先,通过测试用例的评审不仅可以消除产品、开发、测试三方对需求文档理解的偏差,还可以保证测试内部人员,即测试执行者和测试用例设计者在测试质量保障方面保持一致性;其次,通过测试用例评审,产品和开发

2022-03-01 10:44:54 3951

原创 Vue ---- props验证和特性

组件_Prop注册自定义特性组件默认只是写好结构、样式和行为,使用的数据应由外界传递给组件。如何传递?注册需要接收的prop,将数据作为一个自定义特性传递给组件。如:<div id="app"> <video-item title="羊村摇" poster="https://developer.duyiedu.com/bz/video/955bac93ccb7f240d25a79b2ff6a9fdbda9537bc.jpg@320w_200h.webp

2020-10-10 16:01:08 303

原创 Vue -------组件基础了解

# 组件基础组件是什么?组件是可复用的Vue实例,且带有一个名字,例如名字为shanshan-cmp,那么我们则可以在一个通过new Vue创建的根实例中,把这个组件作为自定义元素来使用:<div id="app"> <shanshan-cmp></shanshan-cmp></div>const vm = new Vue({ el: '#app'})因为组件是可复用的 Vue 实例,所以它们与 new Vue 接收相同的选项,例如

2020-10-10 15:59:28 246

原创 Vue ------ 生命周期,执行钩子函数详解

Vue生命周期每个 Vue 实例在被创建时都要经过一系列的初始化过程,例如,需要设置数据监听、编译模板、将实例挂载到 DOM 并在数据变化时更新 DOM 等。同时在这个过程中也会运行一些叫做生命周期钩子的函数,这给了用户在不同阶段添加自己的代码的机会。生命周期图示生命周期钩子所有的生命周期钩子自动绑定 this 上下文到实例中,因此你可以访问数据,对属性和方法进行运算beforeCreate在实例初始化之后,数据观测 (data observer) 和 event/watcher 事件配置之

2020-10-06 17:26:35 366

原创 Vue-------axios 请求 详解

AxiosAxios是一个基于promise的HTTP库浏览器支持情况:Chrome、Firefox、Safari、Opera、Edge、IE8+引入<script src="https://unpkg.com/axios/dist/axios.min.js"></script>APIaxios(config)axios(url, [config])config 配置对象最常用的配置:axios({ method: 'get', // post、get、

2020-10-03 19:46:03 184

原创 Vue --- vue-resource

vue-resource在Vue中实现异步加载需要使用到vue-resource库,利用该库发送ajax。引入vue-resource<script src="https://cdn.jsdelivr.net/npm/[email protected]"></script>要注意的是,vue-resource依赖于Vue,所以要先引入Vue,再引入vue-resource。引入vue-resource之后,在Vue的全局上会挂载一个$http方法,在vm.$http方法

2020-10-03 19:35:34 277

原创 Vue --- 侦听器详解

侦听器侦听属性,响应数据(data&computed)的变化,当数据变化时,会立刻执行对应函数,值类型函数类型例:const vm = new Vue({ el: '#app', data: { msg: 'hello,你好呀,我是杉杉', }, watch: { msg () { console.log('msg的值改变啦~'); } }})// 更改msg的值vm.msg = 'hello~~~~'; // 此时会在控制台中

2020-10-03 19:33:05 2162

原创 Vue --- 计算属性 详解剖析

计算属性有些时候,我们在模板中放入了过多的逻辑,从而导致模板过重,且难以维护。例如:<div id="app"> {{ message.split('').reverse().join('') }}</div>碰到这样的情况,我们必须看一段时间才能意识到,这里是想要显示变量message的翻转字符串,而且,一旦我们想要在模板中多次使用翻转字符串时,会更加麻烦。所以,当我们处理复杂逻辑时,都应该使用计算属性。基础用法计算属性是Vue配置对象中的属性,使用方式如下:

2020-09-28 11:02:24 379

原创 Vue-----列表渲染命令

列表渲染利用v-for指令,基于数据多次渲染元素。在v-for中使用数组用法:(item, index) in items参数:items: 源数据数组           item:数组元素别名           index:可选,索引可以访问所有父作用域的属性<u

2020-09-22 21:02:22 396

原创 Vue学习-———on指令及修饰符

v-on指令的修饰符事件修饰符.stop调用 event.stop,阻止事件冒泡<!-- 此时只弹出button --><div id="app"> <div @click="alert('div')"> <button @click.stop="alert('button')">点击</button> </div></div>const vm = new Vue({ el: '#app'

2020-09-22 19:51:03 564

原创 Vue------------ bind指令学习

v-bind 指令动态地绑定一个或多个特性:后的为传递的参数<!-- 绑定一个属性 --><img v-bind:src="imageSrc"><!-- 动态特性名 (2.6.0+) --><button v-bind:[key]="value"></button><!-- 缩写 --><img :src="imageSrc"><!-- 动态特性名缩写 (2.6.0+) -->&

2020-09-22 17:44:14 235

原创 vue=====条件指令学习

条件渲染v-if用于条件性地渲染一块内容。这块内容只会在指令的表达式返回 truthy 值的时候被渲染。切换多个元素因为 v-if 是一个指令,所以必须将它添加到一个元素上,但是如果想切换多个元素呢?此时可以把一个 <template>元素当做不可见的包裹元素,并在上面使用 v-if。最终的渲染结果将不包含 <template>元素<template v-if="ok"> <h1>Title</h1> <p>P

2020-09-22 15:14:00 251

原创 Vue学习=== vue的指令

Vue相关指令具有特殊含义、拥有特殊功能的特性指令带有v-前缀,表示它们是Vue提供的特殊特性指令可以直接使用data中的数据v-pre跳过这个元素和它的子元素的编译过程。可以用来显示原始 Mustache 标签。跳过大量没有指令的节点会加快编译。<!-- 不会被编译 --><span v-pre>{{ msg }}</span>v-cloak这个指令保持在元素上直到关联实例结束编译可以解决闪烁的问题和 CSS 规则如 [v-c

2020-09-22 11:48:59 114

原创 vue ---剖析vue的响应式原理

扩展_剖析Vue响应式原理const data = { name: 'shanshan', age: 18, shan: { name: 'shanshan', age: 18, obj: {} }, arr: [1, 2, 3]}const arrayProto = Array.prototype;const arrayMethods = Object.create(arrayProto);['push', 'pop', 'shift', 'unsh

2020-09-22 11:08:47 97

原创 vue 学习----响应式2

问:要如何响应式的更新数组和对象?更改数组: 1. 利用数组变异方法:push、pop、shift、unshift、splice、sort、reverse 2. 利用vm.$set/Vue.set实例方法3. 利用vm.$set或Vue.set删除数组中的某一项vm.$set是Vue.set的别名使用方法:Vue.set(object, propertyName, value),也就是这个意思:Vue.set(要改谁,改它的什么,改成啥)vm.$delete是Vue.delete的别名..

2020-09-22 10:45:24 69

原创 vue学习 --- vue的响应式1

<!-- * @Description: * @Version: 2.0 * @Autor: Ricardo * @Date: 2020-09-21 15:39:58 * @LastEditors: Seven * @LastEditTime: 2020-09-22 10:12:38--><!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> .

2020-09-22 10:14:54 106

原创 vue ---初步了解和学习

开始使用Vue引入vue.js官网:vuejs.org开发版本:包含完整的警告和调试模式生产版本:删除了警告,体积更小引入vue.js后,给我们提供了一个构造函数 Vue在js中,new Vue()new Vue() 后会返回一个vue实例对象,我们用变量接着它const vm = new Vue()传递一个配置对象{} – > const vm = new Vue({})el类型: 字符串全称:element(元素)作用:配

2020-09-21 19:36:31 164

原创 Webpack ---其他项配置

其他细节配置 {ignore}文章目录其他细节配置 {ignore}contextoutputlibrarylibraryTargettargetmodule.noParseresolvemodulesextensionsaliasexternalsstatscontextcontext: path.resolve(__dirname, "app")该配置会影响入口和loaders的解析,入口和loaders的相对路径会以context的配置作为基准路径,这样,你的配置会独立于CWD(curren

2020-09-19 21:39:06 132

原创 webpack --- plugins 插件

pluginloader的功能定位是转换代码,而一些其他的操作难以使用loader完成,比如:当webpack生成文件时,顺便多生成一个说明描述文件当webpack编译启动时,控制台输出一句话表示webpack启动了当xxxx时,xxxx这种类似的功能需要把功能嵌入到webpack的编译流程中,而这种事情的实现是依托于plugin的plugin的本质是一个带有apply方法的对象var plugin = { apply: function(compiler){

2020-09-19 20:40:42 283

原创 webpack --- 两大插件之Loader

loaderwebpack做的事情,仅仅是分析出各种模块的依赖关系,然后形成资源列表,最终打包生成到指定的文件中。更多的功能需要借助webpack loaders和webpack plugins完成。webpack loader: loader本质上是一个函数,它的作用是将某个源码字符串转换成另一个源码字符串返回。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e1vGZRHw-1600502783985)(assets/2020-01-13-10-39-24.pn

2020-09-19 16:08:16 111

原创 Webpack --- 入口和出口的实例

入口和出口的最佳实践 {ignore}具体情况具体分析下面是一些经典场景一个页面一个JS源码结构|—— src |—— pageA 页面A的代码目录 |—— index.js 页面A的启动模块 |—— ... |—— pageB 页面B的代码目录 |—— index.js 页面B的启动模块 |—— ... |—— pageC 页面C的代码目录 |—— main1.js 页面C的启动

2020-09-18 16:00:45 137

原创 Webpack---入口和出口

入口和出口node内置模块 - path: https://nodejs.org/dist/latest-v12.x/docs/api/path.html出口这里的出口是针对资源列表的文件名或路径的配置出口通过output进行配置入口入口真正配置的是chunk入口通过entry进行配置规则:name:chunknamehash: 总的资源hash,通常用于解决缓存问题chunkhash: 使用chunkhashid: 使用chunkid,不推荐...

2020-09-18 15:33:38 136

原创 Webpack---编译过程

webpack 编译过程 {ignore}文章目录webpack 编译过程 {ignore}初始化编译输出总过程webpack 的作用是将源代码编译(构建、打包)成最终代码[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bdvJgXQO-1600414125669)(assets/2020-01-09-10-26-15.png)]整个过程大致分为三个步骤初始化编译输出初始化此阶段,webpack会将CLI参数、配置文件、默认配置进行融合,形成一个最终的配

2020-09-18 15:32:01 185

原创 Webpack---devtool配置

devtool 配置 {ignore}文章目录devtool 配置 {ignore}source map 源码地图webpack中的source mapsource map 源码地图本小节的知识与 webpack 无关前端发展到现阶段,很多时候都不会直接运行源代码,可能需要对源代码进行合并、压缩、转换等操作,真正运行的是转换后的代码[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h7lm5LLO-1600341434429)(assets/2020-01-08-1

2020-09-17 19:18:24 302

原创 Webbanck---配置文件详解

配置文件webpack提供的cli支持很多的参数,例如--mode,但更多的时候,我们会使用更加灵活的配置文件来控制webpack的行为默认情况下,webpack会读取webpack.config.js文件作为配置文件,但也可以通过CLI参数--config来指定某个配置文件配置文件中通过CommonJS模块导出一个对象,对象中的各种属性对应不同的webpack配置注意:配置文件中的代码,必须是有效的node代码当命令行参数与配置文件中的配置出现冲突时,以命令行参数为准 。配置文件只允许comm

2020-09-17 19:11:12 117

原创 webpack---简单的安装以及命令使用

webpack的安装和使用 {ignore}文章目录webpack的安装和使用 {ignore}webpack简介webpack的安装使用webpack官网:https://www.webpackjs.com/目前的最新版本:webpack4webpack简介webpack是基于模块化的打包(构建)工具,它把一切视为模块它通过一个开发时态的入口模块为起点,分析出所有的依赖关系,然后经过一系列的过程(压缩、合并),最终生成运行时态的文件。webpack的特点:为前端工程化而生:webpa

2020-09-16 21:20:20 142

原创 Webpack---在浏览器实现模块化

如何在浏览器端实现模块化 {ignore}文章目录如何在浏览器端实现模块化 {ignore}课程简介浏览器端的模块化根本原因解决办法常见的构建工具课程简介本门课需要的前置知识:ES6、模块化、包管理器、git本门课的讲解特点:合适的深度:webpack使用层面很简单,但原理层面非常复杂合适的广度:webpack生态圈极其繁荣,有海量的第三方库可以融入到webpack浏览器端的模块化问题:效率问题:精细的模块划分带来了更多的JS文件,更多的JS文件带来了更多的请求,降低了页面访问效率

2020-09-16 19:13:50 229

原创 包管理---扩展cnpm,nvm,pnpm

cnpm官网地址:https://npm.taobao.org/为解决国内用户连接npm registry缓慢的问题,淘宝搭建了自己的registry,即淘宝npm镜像源过去,npm没有提供修改registry的功能,因此,淘宝提供了一个CLI工具即cnpm,它支持除了npm publish以外的所有命令,只不过连接的是淘宝镜像源如今,npm已经支持修改registry了,可能cnpm唯一的作用就是和npm共存,即如果要使用官方源,则使用npm,如果使用淘宝源,则使用cnpmnvmnvm并非

2020-09-16 18:08:26 706 1

原创 包管理-----yarn安装与使用

yarn 的核心命令初始化初始化:yarn init [--yes/-y]安装添加指定包:yarn [global] add package-name [--dev/-D] [--exact/-E]安装package.json中的所有依赖:yarn install [--production/--prod]脚本和本地CLI运行脚本:yarn run 脚本名start、stop、test可以省略run运行本地安装的CLI:yarn run CLI名查询查看bin目录:

2020-09-16 17:44:40 1337

原创 包管理---yarn

yarn 简介yarn 官网:https://www.yarnpkg.com/zh-Hans/yarn 是由Facebook、Google、Exponent 和 Tilde 联合推出了一个新的 JS 包管理工具,它仍然使用 npm 的registry,不过提供了全新 CLI 来对包进行管理过去,yarn 的出现极大的抢夺了 npm 的市场,甚至有人戏言,npm 只剩下一个 registry 了。之所以会出现这种情况,是因为在过去,npm 存在下面的问题:依赖目录嵌套层次深:过去,npm 的依

2020-09-16 11:43:34 100

原创 包管理------发布包

发布包准备工作移除淘宝镜像源到npm官网注册一个账号,并完成邮箱认证本地使用 npm cli 进行登录使用命令npm login登录使用命令npm whoami查看当前登录的账号使用命令npm logout注销创建工程根目录使用npm init进行初始化发布开发确定版本使用命令npm publish完成发布开源协议可以通过网站 http://choosealicense.online/appendix/ 选择协议,并复制协议内容...

2020-09-16 10:54:04 80

原创 包管理----npm其他常用命令

npm命令 {ignore}文章目录npm命令 {ignore}安装查询更新卸载包npm 配置安装精确安装最新版本npm install --save-exact 包名 npm install -E 包名安装指定版本npm install 包名@版本号查询查询包安装路径npm root [-g]查看包信息npm view 包名 [子信息]## view aliases:v info show查询安装包npm list [-g] [--depth=依赖

2020-09-16 10:51:53 99

原创 包管理--------运行环境配置

运行环境配置我们书写的代码一般有三种运行环境:开发环境生产环境测试环境有的时候,我们可能需要在 node 代码中根据不同的环境做出不同的处理如何优雅的让 node 知道处于什么环境,是极其重要的通常我们使用如下的处理方式:node中有一个全局变量 global (可以类比浏览器环境的window),该变量是一个对象,对象中的所有属性均可以直接使用global有一个属性是process,该属性是一个对象,包含了当前运行node程序的计算机的很多信息,其中有一个信息是env,是一个对象,包

2020-09-16 10:33:49 104

原创 包管理-------npm脚本操作

npm 脚本 (npm scripts)在开发的过程中,我们可能会反复使用很多的 CLI 命令,例如:启动工程命令(node 或 一些第三方包提供的CLI命令)部署工程命令(一些第三方包提供的CLI命令)测试工程命令(一些第三方包提供的CLI命令)这些命令纷繁复杂,根据第三方包的不同命令也会不一样,非常难以记忆于是,npm 非常贴心的支持了脚本,只需要在 package.json 中配置 scripts 字段,即可配置各种脚本名称之后,我们就可以运行简单的指令来完成各种操作了运行方式是

2020-09-16 09:47:20 132

原创 包管理-----npm 包的使用

包的使用nodejs 对 npm 支持非常良好当使用 nodejs 导入模块时,如果模块路径不是以 ./ 或 …/ 开头,则 node 会认为导入的模块来自于 node_modules 目录,例如:var _ = require("lodash");它首先会从当前目录的以下位置寻找文件node_modules/lodash.jsnode_modules/lodash/入口文件若当前目录没有这样的文件,则会回溯到上级目录按照同样的方式查找如果到顶级目录都无法找到文件,则抛出错误上面提到的

2020-09-15 20:16:26 95

原创 前端开发-----npm包的配置和依赖

包配置目前遇到的问题:拷贝工程后如何还原?如何区分开发依赖和生产依赖?如果自身的项目也是一个包,如何描述包的信息以上这些问题都需要通过包的配置文件解决配置文件npm 将每个使用 npm 的工程本身都看作是一个包,包的信息需要通过一个名称固定的配置文件来描述配置文件的名称固定为:package.json可以手动创建该文件,而更多的时候,是通过命令npm init创建的配置文件中可以描述大量的信息,包括:name:包的名称,该名称必须是英文单词字符,支持连接符version:版本

2020-09-15 19:59:41 1543

原创 前端开发-----包管理npm安装和下载

包的安装安装(install)即下载包由于 npm 的官方 registry 服务器位于国外,可能受网速影响导致下载缓慢或失败。因此,安装好 npm 之后,需要重新设置 registry 的地址为国内地址。目前,淘宝 https://registry.npm.taobao.org 提供了国内的 registry 地址,先设置到该地址。设置方式为npm config set registry https://registry.npm.taobao.org。设置好后,通过命令npm config get

2020-09-15 19:58:08 630

原创 前端开发必会------包管理工具概述

包管理工具概述本门课程的前置知识:JavaScript、ES6、模块化、git本门课程的所有代码均书写在 nodejs 环境中,不涉及浏览器环境概念模块(module)通常以单个文件形式存在的功能片段,入口文件通常称之为入口模块或主模块库(library,简称lib)以一个或多个模块组成的完整功能块,为开发中某一方面的问题提供完整的解决方案包(package)包含元数据的库,这些元数据包括:名称、描述、git主页、许可证协议、作者、依赖等等[外链图片转存失败,源站可能有防盗链机制,建

2020-09-15 19:18:22 372

原创 模块化-------ES6其他细节

ES6模块化的其他细节尽量导出不可变值当导出一个内容时,尽量保证该内容是不可变的(大部分情况都是如此)因为,虽然导入后,无法更改导入内容,但是在导入的模块内部却有可能发生更改,这将导致一些无法预料的事情发生可以使用无绑定的导入用于执行一些初始化代码如果我们只是想执行模块中的一些代码,而不需要导入它的任何内容,可以使用无绑定的导入:import "模块路径"可以使用绑定再导出,来重新导出来自另一个模块的内容有的时候,我们可能需要用一个模块封装多个模块,然后有选择的将多个模块的内容

2020-09-15 11:14:52 42

原创 模块化开发——ES6模块化开发

ES6模块化简介ECMA组织参考了众多社区模块化标准,终于在2015年,随着ES6发布了官方的模块化标准,后成为ES6模块化ES6模块化具有以下的特点使用依赖预声明的方式导入模块依赖延迟声明优点:某些时候可以提高效率缺点:无法在一开始确定模块依赖关系(比较模糊)依赖预声明优点:在一开始可以确定模块依赖关系缺点:某些时候效率较低灵活的多种导入导出方式规范的路径表示法:所有路径必须以./或…/开头基本导入导出模块的引入注意:这一部分非模块化标准目前,浏览器使用

2020-09-15 10:52:47 454

原型说明prd一体化框架0919.rp

prd文档通用版本

2021-06-28

水果电商小程序云开发实现

水果商城完成商城基本功能逻辑

2021-06-28

微信小程序元件库2019.rp

微信小程序元件库2019

2021-04-08

皖艺-999简历 .zip

求职模板 100个 三色可选 有word ,照片选择

2020-09-16

点餐微信小程序order.zip

基于开发工作的点餐小程序

2020-09-15

4-5. ES6模块化练习.zip

利用ES6模块化开发实践,推箱子小游戏, 全代码可执行,注释详细 逻辑清晰,很好的模块化开发实践 利用ES6模块化开发实践,推箱子小游戏, 全代码可执行,注释详细 逻辑清晰,很好的模块化开发实践

2020-09-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除