SchemaType

SchemaType可以直接声明 schema type 为某一种 type,或者赋值一个含有 type 属性的对象。const schema1 = new Schema({ test: String // `test` is a path of type String }) const schema2 = new Schema({ test: { type: String } // `test` is a path of type string })全部可用required: 布尔值或函数 如果值为真,为此属性添加 required 验证器default: 任何值或函数 设置此路径默认值。如果是函数,函数返回值为默认值select: 布尔值 指定 query 的默认 projectionsvalidate: 函数 adds a validator function for this propertyget: 函数 使用 Object.defineProperty() 定义自定义 getterset: 函数 使用 Object.defineProperty() 定义自定...

Mac软件下载网站

Mac 软件下载网站这里主要是推荐一些软件下载的网站,还有一些 Mac OSX 软件分享网站正版/介绍MacUpdate:https://www.macupdate.com/App Shopper:http://appshopper.com/类似于 iOS 上 Cydia 一样的第三方软件商店:http://hack-store.com少数派:http://sspai.com/tag/MacMac 玩儿法:http://www.waerfa.com Freeware盗版软件下载网站黑名单上面有大量的开源软件或者免费软件,拒绝盗版从我做起,下面被删除的网站提供大量破解软件下载,欢迎大家监督它们。玩转苹果:http://www.ifunmac.comMac 软件下载站:http://www.pshezi.comMacPeers:http://www.macpeers.comMac 志:http://www.isofts.orgMac 软件分享:http://www.waitsun.comMac 破解软件:https://www.macappstore.net/卡卡源:http://w...

iconfont 图标当前页面一键加入购物车

图标当前页面一键加入购物车const iconList = document.querySelectorAll('#magix_vf_main > div.wrap > div.page-collection-detail-wrap > div.collection-detail > ul li') for(icon of iconList) { icon.querySelector('div.icon-cover > span.cover-item.iconfont.cover-item-line.icon-gouwuche1').click() }图标名数组(项目页)const iconList = document.querySelectorAll('#J_project_detail > div.project-iconlist > ul li') let icons = {} for(icon of iconList) { icons[icon.querySelector('span.icon-name').inne...

npm包管理命令

[toc]发布npm包注册npm使用npm 命令注册:npm adduserUnable to authenticate, need:Basic // 用户名已被注册账号登录npm login发布包,上传到npm包服务器npm publish注意:如果报错:'You do not have permission to publish "mypackage1". Are you logged in as the correct user?'表示包’mypackage1‘已经在包管理器已经存在被别人用了,需要更该包名称注意:如果发布时报错:‘no_perms Private mode enable, only admin can publish this module:’表示当前不是原始镜像,可能用的是其他镜像,如淘宝镜像,要切换回原始的npm镜像,命令:npm config set registry https://registry.npmjs.org/,如果用了nrm工具,使用命令:nrm use npm 切换更新包 npm version patch 该命令在原来的版本上自...

前端团队代码评审 CheckList 清单

前端团队代码评审 CheckList 清单前言前端团队有评审代码的要求,但由于每个开发人员的水平不同,技术关注点不同,所以对代码评审的关注点不同,为了保证代码质量,团队代码风格统一,特此拟定一份《前端团队代码评审 CheckList 清单》,这样代码评审人员在评审代码时,可以参照这份清单,对代码进行评审。从而辅助整个团队提高代码质量、统一代码规范。如果你的团队还没有这么一份代码评审 CheckList 清单,也许这正是你需要的;如果你的团队已经有了代码评审参照标准,这份清单也许能起到锦上添花的效果。一、代码静态检查工具1、使用 eslint 工具对 javascript 代码进行检查检查的规范继承自 eslint-config-standard 检验规则,具体的规则介绍参照链接:https://cn.eslint.org/docs/rules/ ,这里及以下部分不再重复介绍这些检验规则。2、使用 stylelint 工具对 css 样式代码进行检查检查的规范继承自 stylelint-config-standard 检验规则,具体的规则介绍参照链接:https://www.npm...

ndoe.js

[toc]url使用 url 的 parse 方法// 1. 引入 url 模块 var url = require("url"); // 2. 引入 http 模块 var http = require("http"); // 3. 用 http 模块创建服务 /** * req 获取 url 信息 (request) * res 浏览器返回响应信息 (response) */ http.createServer(function (req, res) { // 4. 获取服务器请求 /** * 访问地址是:http://localhost:3000/?userName=jsliang&userAge=23 * 如果你执行 console.log(req.url),它将执行两次,分别返回下面的信息: * / ?userName=jsliang&userAge=23 * / /favicon.ico * 这里为了防止重复执行,所以排除 req.url == /favicon.ico 的情况 */ if...

前端优化

Object.freeze这算是一个性能优化的小技巧吧。在我们遇到一些 big data的业务场景,它就很有用了。尤其是做管理后台的时候,经常会有一些超大数据量的 table,或者一个含有 n 多数据的图表,这种数据量很大的东西使用起来最明显的感受就是卡。但其实很多时候其实这些数据其实并不需要响应式变化,这时候你就可以使用 Object.freeze 方法了,它可以冻结一个对象(注意它不并是 vue 特有的 api)。 当你把一个普通的 JavaScript 对象传给 Vue 实例的 data 选项,Vue 将遍历此对象所有的属性,并使用 Object.defineProperty 把这些属性全部转为 getter/setter,它们让 Vue 能进行追踪依赖,在属性被访问和修改时通知变化。 使用了 Object.freeze 之后,不仅可以减少 observer 的开销,还能减少不少内存开销。相关 issue。 使用方式:this.item = Object.freeze(Object.assign({}, this.item)) 这里我提供了一个在线测速 demo,点我。 通...

moment

计算两个时间段的时间差const diff = moment(endTime).diff(moment(startTime), 'days') // 天数差

Oxygen Music

2019.04.24 更新朋友界面,同网易云朋友栏目,更多内容虚登录, 2019.04.25 优化朋友栏目,增加验证码登录功能,

第二阶段总结

总结经过两个阶段的培训增强了领悟、创新和推断能力。掌握自学的方法,学会条理、耐心的处理和完成任务。思考方式逐渐成熟,逻辑性逐渐规范明确。完成每个阶段的任务都能学到很多,在编程中代码不断符合规范,积累了很多代码片段。在任务中发现问题、解决问题并总结生命周期函数/methods/watch里面不应该使用箭头函数vue中生命周期函数, methods, watch 自动绑定 this 上下文到实例中,因此你可以访问数据,对属性和方法进行运算。对computed、watch、methods的认知computed属性的结果会被缓存,依赖的属性如果发生变化才会重新计算,把他当做普通属性来使用;watch属性,主要用来监听某些特定数据的变化,从而进行某些具体的业务逻辑操作,可以把他看作是computed和methods的结合体;methods方法表示一个具体的操作,主要书写业务逻辑;关于数据的请求如果可以的话,最好能在局部根组件里请求一次ajax数据,然后从局部根组件里把接收到的数据分别传给各个局部的子组件,而不是每个局部的子组件都发送一次ajax请求。localStorage可能用户会有不小...