自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

默默的小跟班的博客

见证一个前端菜鸡的成长

  • 博客(32)
  • 收藏
  • 关注

原创 CentOS常用node环境依赖安装

NVMcurl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash或wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash之后重启Terminal即可http-servernpm install http-server -gpm2 + http-serverwhich http-ser

2022-05-06 10:18:36 295

原创 【运维】PM2入门

PM2一、PM2作用进程守护,系统崩溃自动重启启动多线程,充分利用CPU和内存自带日志记录功能二、 安装npm install pm2 -gpm2 --version三、快速使用简单的启动一个文件,使用pm2 start命令例如:pm2 start index.js在npm项目中,可以在package.json的script脚本中加入pm2 start命令,例如:{ "name": "pm2-test", "version": "1.0.0", "descri

2021-11-05 14:18:03 864

原创 【node】nodejs原生搭建后端服务

一、开发前的准备cross-env 设置环境变量nodemon 热更新(修改代码之后立即重启项目)使用:两个插件均使用npm安装即可,安装好之后在package.json的脚本中插入以下两个脚本"scripts": { "dev": "cross-env NODE_ENV=dev nodemon ./bin/www.js", "prd": "cross-env NODE_ENV=production nodemon ./bin/www.js" },用dev脚本举例,该脚本

2021-11-01 10:53:33 14313

原创 【node】nodejs读取文件与文件传输的简单实现

一、 读取文件简单实现const fs = require('fs')const path = require('path')const fileName = path.resolve(__dirname, 'data.log')// 读取文件内容fs.readFile(fileName, (err, data) => { if(err){ console.log(err) return } console.log(data)

2021-10-28 14:06:12 1604

原创 node express跨域设置

问题:在express框架下,已经加了跨域的请求头设置,但是,发现,option请求能通过,post请求因为跨域问题被拦截。查看post请求头部,确实缺失了Access-Control-Allow-Origin头部信息。其他可能的影响因素(以下情况,来自其他网友博客说法,暂时精力有限,均未验证是否对错):“Access-Control-Allow-Origin”: *有说法称该头部不能设置为 *“Access-Control-Allow-Credentials”: true前端也设置了 xh

2021-03-29 11:25:55 909

原创 【Vue】拖拽式分割布局的一个示例

示例展示代码特地写了一个demo代码,可以直接复制下来运行<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <script src="https://cdn.jsdelivr.net/npm/vu

2021-02-24 14:49:45 751

原创 【vue】封装带有输入推荐和语法高亮的编辑器

效果动图可以类似于代码编辑器,有语法推荐,语法高亮功能代码(含详细注释)只要是封装了微软的monaco编辑器,monaco编辑器基本就相当于网页版的vs code方便大家查找api,点击跳转链接实例上的方法、事件等monaco类上的方法、事件等<template> <div ref="refCodeEditor" key="keyCodeEditor" style="height: 100%;width: 100%;" /></template>&l

2021-02-23 14:43:39 805 1

原创 【Vue】可以自定义回显格式的日期选择控件(日月周季年)

一、组件特点基于element ui的datePicker的二次封装。两个特点:1. 回显格式可以自定义element ui的控件控制回显的属性为format,但是只能包含一个日期对象。业务需要展示为两个日期段,如:选择 一月,展示为 2020-01-01 ~ 2020-01-31。该组件采用一个假的input框通过css覆盖到原始的datePicker的input框上,然后可以自定义回显内容。2. 同一个组件支持日、月、周、季、年的切换element ui官方文档上没有季的选项但是实际

2021-01-15 16:14:23 3164 6

原创 v-for动态渲染img时src属性的处理

一、问题现象项目中需要渲染一个包含图片的列表。采用v-for循环渲染,代码简写如下: <li v-for="{ pic } in picList"> <img :src="pic" > </li>picList = [{ pic: '@/assets/images/mysql.png'}]采用了各种字符串拼接方案都不行。:src = "'@/assets/images/'+'mysql.png'":src = "'..

2021-01-12 13:02:45 1252

转载 element table固定表头,表的高度自适应解决方法

主要是通过在mounted生命周期中,改变tableHeight的值,来让表格的高度自适应。标签:<el-table ref="table" :data="tableData" :height="tableHeight"></el-table>vue中的ref解释第一种JS处理方式:export default { data(){ return { tableHeight: 50, tableData

2020-12-11 18:40:39 1495 2

原创 【ES5】JavaScript创建对象与继承的方式汇总

创建对象工厂模式 (new一个obj,属性方法给obj,return obj)无法知道对象的类型构造函数 (属性方法给this,无返回,new调用,创建对象,作用域给新对象,调用函数给对象加属性方法,返回新对象)每个实例包含的方法不相等。 每个实例都是new 了一个新的同名的方法,不能函数复用。原型模式。(方法属性写在function.prototype上,还可以直接字面量形式重写prototype = {},但是同时要加上constructor,defineProperty设置不可枚

2020-09-09 12:30:34 115

原创 前端笔试知识点补充

1. IP地址、子网掩码、广播地址、网络地址IP地址:10.123.6.11子网掩码:255.255.252.0子网掩码二进制:1111 1111 . 1111 1111 . 1111 1100 . 0000 0000子网掩码有22个连续1,所以前22位作为网络地址,后10位作为主机地址,IP地址 & 子网掩码 = 网络地址 (& 都为1才取1) 10 . 123 . 0000 0110 .11 255 . 255 . 1111 1100

2020-09-07 18:25:55 265

原创 自定义Array.sort()排序规则

Array.sort()默认都是进行字符串比较,哪怕是数字也会先转换成字符串,然后一个字符一个字符的比较。const arr = [1, 2, 3 ,10, 12]console.log(arr.sort()); // [1, 10, 12, 2, 3]比较数字// 定义一个compare传入sort中const compare1 = function(val1, val2){ return val1 - val2}console.log(arr.sort(compare1));

2020-09-03 15:49:27 668

原创 iview下拉添加全部选择功能遇到的坑

需求在iview的select下拉多选菜单下,加入一个全部选择和全部清空的功能。实现点击全部选择的时候,将当前下拉菜单下所有的item都加到select绑定的list里面问题二联下拉菜单,当一级下拉选择一个后,点击二级下拉的全部选择,再到一级下拉选择另外一个,再点击二级下拉的全部选择,此时,第一次一级下拉的内容和第二次一级下拉的内容,都会被选中。如图。一级下拉选择楼层3,二级下拉点击全选一级下拉选择楼层4,二级下拉选择全选问题出现了,此时,楼层三的内容也被选中放到了里.

2020-08-27 11:01:05 1063 1

原创 重写video标签的控制条(待更新汇总)

JS自定义多媒体Video控制条(控制视频播放、进度、全屏案例)https://blog.csdn.net/weixin_41105030/article/details/86695625?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-Blo

2020-08-27 10:29:39 1078

原创 【vue】使用render函数渲染table中的数据

注:公司项目,为了引起不必要麻烦,码一下,请见谅。

2020-08-10 14:35:51 8256 2

原创 【Vue】封装全局弹窗警告组件this.$message.success

先上效果图。背景有遮罩层,并且模糊,弹窗设置了最小宽度,文字超出范围,弹窗会自动扩展。写一个弹窗组件message.vue<template> <!-- 遮罩层 也是整个组件的容器--> <div class="pop-container" v-if="isShow"> <div class="message-container"> <!-- 两个icon放在一个容器中,但是只显示一个 --> &lt

2020-08-08 14:41:33 20836 2

原创 【vue】封装自己的button

设计图需求多种场景下的按钮,且每种场景下有三种不同状态,按钮预留size和disable选项。template部分直接写一个button,然后预留一个slot,用于在button中插入文字。绑定class,此时class的绑定有几种形式,详情见vue.js官方文档Class 与 Style 绑定:class="{active: isActive, “text-danger”: hasError}" // 变量是boolean:class="[isActive, hasError]"

2020-08-06 20:11:20 876

原创 【ES6】ES6中的作用域

1. window全局作用域 全局变量var abc = 123;bcd = 234;// var 定义的这个abc肯定是全局变量。 且是挂在window下面的。 window.abc可以访问到// bcd不直接定义,也是挂在在window下,可以访问到。 window.bcd window是个全局对象。// 区别,bcd不能说是变量,只能说是window的属性; 变量不能删除,属性可以删除delete abc; // false 也可以是 delete wi

2020-07-28 18:27:36 1284

原创 【ES6】var和let/const的区别

1. var声明的变量会挂载在window上,而let和const声明的变量不会let / const允许把变量的作用域限制在块级域中;var 申明变量要么是全局的,挂载在window上,要么是函数级的,限制在函数作用域内,而无法是块级的。function fn(){ var username = '1'; console.log(username);}fn();console.log(username); // 报错 变量存在函数作用域内。2. var声明变量存在变量提升

2020-07-28 18:20:38 813

原创 new操作符到底发生了什么

ES6中 新增了class。 直接new class就可以得到一个实例对象。 但是在ES5中,我们是通过函数模拟class,从而就涉及到new一个函数,那么这个过程中到底发生了什么?1. ES6中的new在ES6中,我们通过new来创建一个实力对象。例如:class Car { constructor(){ // 提一下,类中隐含了一个new.target 属性。 没法直接 访问,只能在类里面访问。 返回的就是 new出来的这个类 console.log(new.ta

2020-07-28 17:29:59 447

原创 原型和原型链的理解

原型链:js在创建对象的时候,都有一个_proto_的内置属性,用于指向创建它的函数(相当于constructor)的原型对象prototype简单点:person 表示对象实例 Person表示类    person → Person → Object原型和原型链的理解主要针对的是在ES6之前,没有自定义类,利用普通function当做构造函数。区别于ES6中class里的contructor对象的一个属性或方法时,会先在对象自身中找,有则直接使用,没有则会去该对象原型中找,直到找到Ob

2020-06-24 08:34:49 518

原创 从零开始搭建React项目以及项目文件介绍

一、项目搭建首先,还是需要安装有node.js和npm/cnpm。React官方网站:https://reactjs.org/直接在需要搭建项目的文件夹目录打开命令行,输入命令,搭建并打开项目。npx create-react-app my-appcd my-app安装依赖。npm install或者安装yarn之后,利用yarn安装依赖npm install -g yarnyarn install打开项目npm start二、项目文件的介绍package.json存储

2020-06-19 08:18:59 771

转载 【vue学习】axios 各种获取数据方式对比

https://www.jianshu.com/p/d771bbc61dab

2020-06-18 01:20:56 237

转载 HashMap底层实现原理及面试问题

①HashMap的工作原理HashMap基于hashing原理,我们通过put()和get()方法储存和获取对象。当我们将键值对传递给put()方法时,它调用键对象的hashCode()方法来计算hashcode,让后找到bucket位置来储存值对象。当获取对象时,通过键对象的equals()方法找到正确的键值对,然后返回值对象。HashMap使用链表来解决碰撞问题,当发生碰撞了,对象将会储存在链表的下一个节点中。 HashMap在每个链表节点中储存键值对对象。当两个不同的键对象的hashcode相同时

2020-06-17 09:15:28 368

原创 Vue中Watch的简单应用

对于watch的用法,参考了几个微博,简单汇总一下。先上官方文档:https://cn.vuejs.org/v2/guide/computed.html#%E4%BE%A6%E5%90%AC%E5%99%A81. Watch的基本应用对于普通的变量,直接监听,两种写法 new Vue({ data:{ a1:1, a2:2, }, watch:{ // 普通的watch监听 官方写法,函数中默认传入newVal和oldVal // 监听a1这个变

2020-06-17 09:02:06 277

原创 Vue部分插件的使用

vue-awesome-swiperhttps://github.com/surmon-china/vue-awesome-swipernpm install --save vue-awesome-swipernpm install --save axios

2020-06-16 23:09:22 328

转载 WebApp开发中的rem.js

(function () { function a() { // clientWidth=width(样式中设置的)+左padding+右padding-垂直滚动条宽度。 var b = document.documentElement.clientWidth; b = b > 750 ? 750 : b; var c = b / 750 * 100; document.getElementsByTagName("html")[0].style.fontSi

2020-06-16 23:03:27 199

转载 Module build failed: TypeError: this.getResolve is not a function

解决npm报错:Module build failed: TypeError: this.getResolve is not a function1、sass-loader的版本过高导致的编译错误,当前最高版本是8.x,需要退回到7.3.1  运行:    npm uninstall sass-loader(卸载当前版本)    npm install [email protected] --save-dev2、如果上面的方法不行,或者又产生其他相关的错误,可以尝试一下在webpack.base.

2020-06-16 22:53:23 908

原创 从零开始配置Vue项目(WebApp)

Vue项目配置组件初始化安装全局安装 vue-clinpm install –global vue-cli创建一个基于webpack模板的新项目vue init webpack my-projectRuntime + Compiler — runtime-only (小于6kb,只能用 .vue开发)EsLint—YRouter—Y无网络环境下,离线配置环境。使用打包好的webpackTerminal进入当前用户文件夹下(如:C:\Users\82601 )mkdir

2020-06-16 22:45:57 866

原创 封装属于自己的Jsonp

先放上jsonp官方文档链接:https://github.com/webmodules/jsonpAPIjsonp(url, opts, fn)url (String) url to fetchopts (Object), optionalparam (String) name of the query string parameter to specify the callback (defaults to callback)timeout (Number) how lon

2020-06-16 22:18:57 175

原创 Vue由本地js中存放的url地址获取图片

Vue由本地js中存放的url地址获取图片对象必须放在js中(而不是json里面,json没有require)。如果是在json中,需要采用其他方式去获取注意:url地址必须用这种形式,有requiredata.jsexport const recommends = [ { "pic": require('./1.png'), "name": "adidas 阿迪达斯 训练 男子", "price": "335", "num": "1" },]index

2020-06-16 12:38:33 2727

空空如也

空空如也

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

TA关注的人

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