自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(60)
  • 收藏
  • 关注

原创 vue项目中,使用prettier格式化代码配置

在vue项目根目录下新建一个文件.prettierrc在文件中输入如下代码,并保存{ "semi": false, "singleQuote": true, "htmlWhitespaceSensitivity": "ignore"}在.eslintrs.js中的rules对象下,新增如下代码'space-before-function-paren': 0...

2020-05-19 12:55:13 1799

原创 推荐一个有趣的admin

如果小伙伴们最近有admin开发的需求,可以试一下这个admin。

2022-08-10 22:57:06 281 1

原创 Vue3新特性

Ref语法ref是一个函数,接受一个参数(一般传入原始类型),返回一个响应式对象<template> <div id="nav"> <p>{{count}}</p> <button @click="increase">click</button> </div> <router-view /></template><script lang="ts">

2020-11-30 22:36:45 254

原创 Vue项目,从url中获取参数

加入url为https://www.aaa.com/aaa?code=xxx安装qs模块npm i qshash模式import Qs from 'qs'const query = Qs.parse(location.hash.substring(3))hostory模式import Qs from 'qs'const query = Qs.parse(location.search.substring(1))

2020-08-22 17:13:42 1346

原创 vue中修改数组或者对象后,无法触发双向绑定

修改data中的数组,数组发生改变,页面未发生改变可通过$set方法来设置数组的值,该方法有三个参数,第一个是要被设置值的目标对象,第二个是设置值在数组中的索引,第三个是要设置的值<template> <div class="home"> <ul> <li v-for="(item, index) in demoArr" :key="index"> {{item}} </li

2020-08-22 08:59:25 1975 1

原创 通用测试工具jest

该demo再react环境下运行// 测试运算test('test common matcher', () => { expect(2 + 2).toBe(4) expect(2 + 2).not.toBe(5)})// true or falsetest('test to be true or false', () => { expect(1).toBeTruthy() expect(0).toBeFalsy()})// numbertest('test n.

2020-08-11 21:31:59 134

原创 Centos7中使用yum安装最新版node.js

获取最新版的bashcurl --silent --location https://rpm.nodesource.com/setup_14.x | bash -执行安装yum install nodejs

2020-08-07 15:17:25 716

原创 chrome扩展中,content-script与background.js之间的通信

通信的几种方式popup和background通信- background----> popup- popup--->backgroundbackground给popup发消息// background.js中function toPopup () { alert('to popup')}// popup.js中const bg = chrome.extension.getBackgroundPage()document.getElementById('btn').o

2020-07-08 13:27:03 9414

原创 TS初体验

安装与运行npm install -g typescripttsc hello.tsTS基本的几种数据类型/** * 数据类型 */let idDone: boolean = falselet age: number = 20let binaryNumber: number = 0b1111let firstName: string = 'valzt'let message: string = `Hello, ${firstName}, age is ${age}`le

2020-06-30 23:02:07 13344

原创 Express中第三方模块

密码加密使用bcryptjs对用户密码进行加密加密之后的密码,无法被逆向破解同一铭文密码多次加密,得到的加密结果各不相同,保证了安全性安装npm install bcryptjs使用const bcrypt = require('bcryptjs')// 再注册用户的处理函数中,确认用户名可用后,调用bcrypt.hashSync(明文密码,随机盐长度)方法,对用户的密码进行加密处理// 对用户的密码,进行bcryptjs加密,返回值是加密之后的字符串userinfo.passw

2020-06-08 20:52:52 1379 2

原创 Express中的身份认证

不同开发模式下的身份认证服务端渲染和前后端分离这两种开发模式,有着不同的身份认证方案:服务端渲染推荐使用Session认证机制前后端分离推荐使用JWT认证机制HTTP协议的无状态性了解HTTP协议的无状态性是进一步学习Session认证机制的必要前提HTTP协议的无状态性,指的是客户端每次的HTTP请求都是独立的,连续多个请求之间没有直接的关系,服务器不会主动保留每次HTTP请求的状态如何突破HTTP无状态的限制通过cookie来认证身份什么是Cookiecookie是存储

2020-06-02 23:38:43 778

原创 Web开发模式

Web开发模式基于服务端渲染的传统Web开发模式基于前后端分离的新型Web开发模式服务端渲染的Web开发模式服务端渲染的概念:服务器发送给客户端的HTML页面,是在服务器通过字符串的拼接,动态生成的。因此,客户端不需要使用Ajax这样的技术额外请求页面的数据app.get('/index', (req, res)=>{ // 要渲染的数据 const user = { username: 'lzt', age:18 } const html = `<h1>姓名:${us

2020-06-02 14:44:52 281

原创 Express知识总结

创建服务器// 引入expressconst express = require('express')// 创建服务器const app = express()// 监听80端口app.listen(80, ()=>{ console.log('服务器启动成功')})GET请求// 引入expressconst express = require('express')// 创建服务器const app = express()app.get('/get', (req,

2020-06-02 11:04:33 522

原创 Vue中父子组件生命周期顺序

加载渲染过程父beforeCreate()->created()->beforeMounted()->子beforeCreate()->created()->beforeMounted()->mounted()->父mounted()更新过程父beforeUpdate()->子beforeUpdate()->updated()->父updated()销毁过程父beforeDestroy()->子beforeDestro

2020-05-29 10:34:06 126

原创 vscode中,vue代码格式化配置

安装 eslint 和 vetur 插件在setting.json中输入如下代码// 添加进你的vscode的 setting.json"eslint.autoFixOnSave": true,"eslint.validate": [ "javascript",{ "language": "vue", "autoFix": true },"html", "vue"],...

2020-05-27 23:14:05 238

原创 Vue中配置跨域

在vue.config.js中写入如下代码module.exports = { devServer: { proxy: { '/api': { target: 'http://v.juhe.cn/toutiao/', ws: true, changeOrigin: true, pathRewrite: { '^/api': '' } } } }}tar

2020-05-26 21:16:59 167

原创 微信小程序基础

小程序目录结构├── pages ······································ 【目录】存放所有的小程序页面│ │── index ···································· 【目录】index 页面│ │ ├── index.wxml ······························· 【文件】 index 页面的结构│ │ ├── index.js ···························

2020-05-24 07:19:52 884

原创 Vuex

Vuex概述Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间的数据共享使用Vuex管理数据的好处:能够在vuex中集中管理共享的数据,便于开发和后期进行维护能够高效的实现组件之间的数据共享,提高开发效率存储在vuex中的数据是响应式的,当数据发生改变时,页面中的数据也会同步更新Vuex中的核心特性StateState提供唯一的公共数据源,所有共享的数据都要统一放到Store中的State中存储例如,打开项目中的store.js文件,在State对象中可以添加

2020-05-18 09:58:20 103

原创 Vue脚手架介绍

Vue脚手架可以快速生成Vue项目基础的架构。安装3.x版本的Vue脚手架:npm install -g @vue/cli基于3.x版本的脚手架创建Vue项目:使用命令创建Vue项目命令:vue create my-project选择Manually select features(选择特性以创建项目)勾选特性可以用空格进行勾选。是否选用历史模式的路由:nESLint选择:ESLint + Standard config何时进行ESLint语法校验:Lint on savebab.

2020-05-18 09:46:14 1023

原创 Webpack

ES6模块化ES6模块化规范中定义:每一个js文件都是独立的模块导入模块成员使用import关键字暴露模块成员使用export关键字推荐使用ES6模块化,因为AMD,CMD局限使用与浏览器端,而CommonJS在服务器端使用。ES6模块化是浏览器端和服务器端通用的规范.nodejs中安装babel安装babelnpm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/nodenpm insta

2020-05-18 09:40:57 108

原创 VueRouter

路由路由的本质就是一种对应关系,比如说我们在url地址中输入我们要访问的url地址之后,浏览器要去请求这个url地址对应的资源。那么url地址和真实的资源之间就有一种对应的关系,就是路由。路由分为前端路由和后端路由1).后端路由是由服务器端进行实现,并完成资源的分发2).前端路由是依靠hash值(锚链接)的变化进行实现前端路由实现tab栏切换前端路由是基于hash值的变化进行实现的(比如点击页面中的菜单或者按钮改变URL的hash值,根据hash值的变化来控制组件的切换)核心实现依靠一

2020-05-18 08:31:45 119

原创 Vue_promise

Promise主要用于解决深层嵌套的问题promise 提供了简洁的API 使得异步操作更加容易<script type="text/javascript"> /* 1. Promise基本使用 我们使用new来构建一个Promise Promise的构造函数接收一个参数,是函数,并且传入两个参数: resolve,reject, 分别表示异步操作执行成功后的回调函数和异步操作执行失败后的回调函数 */ var p = new Pro

2020-05-18 08:05:40 80

原创 Vue组件

全局注册Vue.component(‘组件名称’, { }) 第1个参数是标签名称,第2个参数是一个选项对象全局组件注册后,任何vue实例都可以用<div id="example"> <!-- 2、 组件使用 组件名称 是以HTML标签的形式使用 --> <my-component></my-component></div><script> // 注册组件 // 1、 my-co

2020-05-18 07:46:32 70

原创 Vue基础

指令v-cloak作用:防止页面加载出现闪烁的问题<style type="text/css"> /* 1、通过属性选择器 选择到 带有属性 v-cloak的标签 让他隐藏 */ [v-cloak]{ /* 元素隐藏 */ display: none; } </style><body> <div id="app"> <!-- 2、 让带有插值 语法的 添加 v-cloak 属

2020-05-10 21:13:12 161

原创 Vue中兄弟组件的传值

关于兄弟组件之间的传值,我这里是通过vue-bus实现的安装vue-busnpm install vue-bus在入口文件(main.js)进行全局注册import VueBus from 'vue-bus'Vue.use(VueBus)传递数据定义一个触发事件(allLink),传递参数“/link”allLink () { this.$bus.emit('link'...

2020-05-06 11:14:39 224

原创 Ajax

Ajax实现原理// 创建Ajax对象var xhr = new XMLHttpRequest()// 告诉Ajax请求地址以及请求方式xhr.open('get', 'http://www.example.com')// 发送请求xhr.send()// 获取服务端给与客户端的响应数据xhr.onload = function(){ console.log(xhr.respon...

2020-05-05 17:09:24 147

原创 MongoDB+Express

数据库概念一个数据库软件中可以包含多个数据仓库,在每个数据仓库中,可以包含多个数据集合,每个数据集合中可以包含多条文档(具体的数据)术语解释说明database数据库,mongoDB数据库软件中可以建立多个数据库collection集合,一组数据的集合,可以理解为JavaScript中的数组document文档,一条数据的数据,可以理解为JavaSc...

2020-04-28 16:35:32 445

原创 Node+Gulp

模块化node.js规定一个JavaScript文件就是一个模块,模块内部定义的变量和函数默认i情况下在外部无法得到模块内部可以使用exports对象进行成员导出,使用require方法导入其他模块模块成员的导入模块成员的导出模块导出两种方式的联系与区别系统模块node运行环境提供的API,就是系统模块,因为这些API都是以模块化的方式进行开发的,所以我们又称Node运行环境提...

2020-04-28 10:54:40 152

原创 Centos 7指定阿里的镜像源

备份系统自带的yum源配置文件mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup下载阿里云的yum源配置wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo更新现有...

2020-04-27 13:00:32 295

原创 window中通过nvm实现多个node版本共存

因为一些插件的冲突,了解到了nvm这个东东,于是研究了下介绍nvm是node的一个第三方包,主要用于在同一台机器上安装不同版本的node下载在下载之前,如果电脑中存在node,建议卸载后,再进行相关的操作下载链接:https://github.com/coreybutler/nvm-windows/releases然后在下载页面选择下图中的版本(下载后,可直接安装,无需配置)...

2020-04-22 22:57:18 542

原创 JavaScript高级

面向过程与面向对象面向过程:面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候再一个一个的依次调用就可以了。面向对象:面向对象是把事务分解成为一个个对象,然后由对象之间分工与合作。对比面向过程面向对象优点性能比面向对象高,适合跟硬件联系很紧密的东西,例如单片机就采用的面向过程编程。易维护、易复用、易扩展,由于面向对象有封装、继...

2020-04-22 10:18:35 175

原创 jQuery

jQuery入口函数// 第一种 简单易用$(function () { // 此处为页面DOM加载完成的入口})// 第二种 繁琐,但是也可以实现$(document).ready(function(){ // 此处为页面DOM加载完成后的入口})总结:等着 DOM 结构渲染完毕即可执行内部代码,不必等到所有外部资源加载完成,jQuery 帮我们完成了封装。相当于原...

2020-04-12 16:12:12 80

原创 WebAPI---BOM

BOMBOM(Browser Object Model)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是 window。​- BOM 由一系列相关的对象构成,并且每个对象都提供了很多方法与属性。​- BOM 缺乏标准,JavaScript 语法的标准化组织是 ECMA,DOM 的标准化组织是 W3C,BOM 最初是Netscape 浏览器标准的一部分。BO...

2020-04-11 15:51:15 253

原创 WebAPI---DOM

获取元素的方法根据ID获取语法:document.getElementById(id)作用:根据ID获取元素对象参数:id值,区分大小写的字符串返回值:元素对象 或 null<body> <div id="time">2019-9-9</div> <script> // 因为我们文档页面从上往下加载,所...

2020-04-07 16:15:58 134

原创 JavaScript基础总结

JavaScript中的数据类型数据类型说明默认值Number数值型0String字符串型“”Boolean布尔型falsenull空值nullundefined声明了变量,但未赋值undefinednull的类型为object数值型简介Number数值型的范围(最大值: Number.MAX_VALUE;最小...

2020-04-06 22:24:39 165

原创 bootstrap响应式

响应式原理就是使用媒体查询针对不同宽度的设备进行布局和样式的设置,从而适配不同设备的目的设备的划分小于768的为超小屏幕(手机)768~992之间的为小屏设备(平板)992~1200的中等屏幕(桌面显示器)大于1200的宽屏设备(大桌面显示器)bootstrap容器container容器固定宽度大屏 ( >=1200px)1170px中屏...

2020-03-28 23:39:36 122

原创 Less

less介绍less(learnerStyle Sheets的缩写)是一门css扩展语言,也称为css预处理器在css的语法基础上,引入了变量、运算以及函数的功能,大大简化了css的编写,并且降低了css的维护成本。less是一门css预处理语言,扩展了css的动态特性less安装# 安装npm i -g less# 检查是否安装成功lessc -veasy less插件...

2020-03-27 21:40:29 104

原创 rem布局与媒体查询

rem单位rem (root em)为一个相对单位,类似于em,em是父元素字体大小rem的基准是相对于html元素的字体大小如果html设置font-size=12px, 非根元素设置width: 2rem; 则换成px就是24px/* 根html 为 12px */html { font-size: 12px;}/* 此时 div 的字体大小就是 24px */ ...

2020-03-27 15:48:09 390

原创 Flex布局(弹性布局)

flex与传统布局传统布局兼容性好布局繁琐局限性,不能再移动端很好的布局flex布局操作方便,布局极其简单,移动端使用比较广泛pc端浏览器支持情况比较差IE11或更低版本不支持flex或仅支持部分建议如果是pc端页面布局,还是采用传统方式如果是移动端或者是不考虑兼容的pc则采用flexflex布局原理flex用于任何容器父级设置为flex之后,子元素的fl...

2020-03-27 10:35:33 106

原创 Web流式布局(百分比布局)

视口(viewpoint)视口就是历览器显示页面内容的屏幕区域,视口可以分为布局视口、视觉视口和理想视口布局视口(layout viewpoint)一般移动设备浏览器都默认设置了一个布局视口,用于解决PC端页面在手机上显示的问题即 pc端网页大多都能在手机上呈现,只是元素看上去很小,一般默认可以通过手动缩放网页视觉视口(visual viewpoint)用户所看到的网站的区域网...

2020-03-27 09:19:08 964

空空如也

空空如也

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

TA关注的人

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