自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(125)
  • 资源 (10)
  • 收藏
  • 关注

原创 平时能用的ng突然不生效了,配置没错是什么情况

欸,这个我刚刚找出来我这边的问题所在,简单说就是我的启动顺序问题我先启动了本地项目,然后才是开启ng,就导致了后面这种情况,明明我的ng配置没错啊,刚刚还在用的啊,为什么关个鸡重启下电脑啥的就出问题了,这不应该啊,翻了大半天的百度,愣是没找到解决方式。像什么杀掉ng的进程啊,taskkill /fi "imagename eq nginx.exe" /fng重启啊nginx -s reload试了大半天,总感觉漏了点什么细节问题嗯。。。咱就是说会不会有可能就是咱的启动顺.

2022-01-26 16:29:51 2839

原创 vue的双向数据绑定原理

网上一堆所谓的面试题说的vue的双向数据绑定是Object.defineProperty实现的,啊对对对,说的没错,然后呢?没了????我丢,老子还以为真的就这么一句话可以了。遇到这个问题,我当时的回答是通过Object.defineProperty()去监听对象的某个属性,当其被读取或者写入新数据的时候就会触发Object.defineProperty()的get和set方法,然后面试官就问了一句,还有吗。还有吗,我不知道啊,我所看过的教程啥的都只讲到这最近才刚看到另外的教程,还没看完,先写一

2021-11-06 21:17:13 220

原创 webpack实战五--补充内容(less篇)

前面的导入引用操作一样,只是我们使用less的时候,需要安装新的loader,也就是less、less-loader,命令如下:npm i -D less less-loaderless和less-loader都需要安装,但需要注意的是,在使用时,只需要使用less-loader即可, module: { rules: [ { test:/\.css$/, use:['style-loader','css-loader']

2021-11-04 00:33:54 289

原创 webpack实战五补充内容

当我们有多个css文件,项目文件如下:a.js内容为console.log(1);import("./b.css");b.css:@import './c.css';body{ background-color: rgb(97, 168, 226);}c.css:button{ width: 200px; height: 50px; border-radius: 2px;}html内容为:<!DOCTYPE html.

2021-11-03 23:50:10 90

原创 webpack4实战五--loader入门(css篇)

之所以要使用loader装载器,是因为webpack默认只打包js,想要打包css、img等文件就需要借助loader来实现而打包css便需要使用style-loader直接将css添加到html的style标签里面

2021-11-03 17:30:40 556

原创 webpack4实战四--依赖使用(webpack-dev-server篇)

前面几篇webpack的文章的操作之后,我们还是需要手动打开dist中的html文件才能启动页面,但现在我们要尝试使用命令的方式启动。首先是安装插件webpack-dev-servercnpm i -D webpack-dev-server这个插件不需要像html-webpack-plugin一样在webpack.config.js中导入,安装了便可使用npx webpack serve但是,这样写太麻烦了,记住这么多单词挺麻烦的,我们可以在package.json中使用简化的名

2021-11-01 23:28:10 929

原创 webpack4实战三--插件使用(html-webpack-plugin篇)

因为在打包时,webpack默认只会打包js,也就是说,咱们打包出来的dist文件夹中只有js文件而已,并没有html啥的其他文件。当我们想查看打包后的js文件是否可以使用的话,我们需要将html文件拷贝到dist目录下,然后在html文件中使用script标签引用打包好的js文件,步骤很是麻烦。那么可以怎么简化这些操作,自然是使用插件咯,标题白写的不成。进入正题:一、找到对应功能的插件有一个插件可以实现自动添加script引用到html文件的操作,html-webpack-plugin

2021-11-01 21:29:54 748

原创 webpack4实战二--配置信息解析(webpack.config.js篇)

一、webpack默认配置信息默认入口:src/index.js默认出口:dist/main.js只打包js,生成main.jswebpack默认只打包js,不会打包img、css等文件,若需要打包这类文件需要使用插件二、基本配置解析const path = require('path');module.exports = { mode: 'development', entry: './src/a.js',//入口文件 output: {//打包出口配置

2021-11-01 17:57:49 168

原创 webpack4实战一--简单配置打包

一、项目package.json生成直接在项目的根目录运行cmd执行下面命令,便可生成package.jsonnpm init -y二、安装webpack相关依赖安装 webpack 与 webpack-cli ( 4 版本需要cli才能执行命令)npm i -D webpack webpack-cli三、webpack配置(踩坑过)我在使用webpack4的时候就因为这个踩坑了,我不知道这个webpack4是要配置入口文件的,折腾了挺久才反应过来在项目根目录新建一.

2021-11-01 16:45:44 342

原创 webpack系列的一些个人经验

这篇文章没想写什么技术内容,只是作为webpack系列分类的一个闲扯。我刚开始接触这个webpack打包,从培训课程中学的知识在运用时就报错了,折腾了我大半天才做出来,一点一点写吧。(好在这个webpack可以写一次当模板使用,不然这不得累死)。因为刚开始使用时就已经是较高版本的webpack了,像现在我安装下来的就是下面的这样了 "devDependencies": { "webpack": "^5.61.0", "webpack-cli": "^4.9.1" }...

2021-11-01 16:17:29 78

原创 牛客网--检测是否包含重复字符串

描述给定字符串 str,检查其是否包含连续重复的字母(a-zA-Z),包含返回 true,否则返回 false示例输入:‘rattler’输出:truefunction containsRepeatingLetter(str) { var reg = new RegExp("^[a-zA-Z]+$"); if (!reg.test(str)) return false for (let i = 0; i < str.length; i++) { if (str[i] ==

2021-10-24 02:45:26 448

原创 Object.assign实现方式

示例对象代码:var obj1={ a:12, b:2, c:3}var obj2={ a:2, c:2222}1、es6的做法console.log({...obj1,...obj2});2、双层for循环的做法var obj1={ a:12, b:2, c:3}var obj2={ a:2, c:2222}var obj3={ d:444,k:77}function getNewObj(){ let newObj=[...arguments];

2021-10-23 03:32:21 104

原创 iconfont图标下载使用示例

登录iconfont.cn(也就是阿里巴巴矢量图标库)选择我们想要的图标,点击加入购物车选择完了之后,在阿里巴巴矢量图标库网站的右上角那里点击即可看到下面这个图点下载代码,得到一个zip文件,打开大概就是下面这样打开demo_index.html看...

2021-10-18 04:35:58 235

原创 给定两个字符串s1和s2 判断s2或其翻转后是否为s1的子串,如ash是absesth的子串

给定两个字符串s1和s2 判断s2或其翻转后是否为s1的子串,如ash是absesth的子串function includes(s1, s2) { // write code here var s3 = s2.split("").reverse().join(""); s2 = [...s2]; s3 = [...s3]; function foo(str, old) { var o=0; for(let i=0;i<str.length;i++){ if (old.inde

2021-10-16 05:05:19 633

原创 Node--JWT-拦截器-服务部署

基于cookie-session方式客户端使用账号密码登录服务端对账号密码进行验证并生成session对象之后服务端将sessionid返回客户端在浏览器端保存sessionid在之后客户端发送请求时会带上sessionid到服务器最后服务端接收到sessionid后会与之前保存的进行对比以确认用户身份基于jwt方式(json-web-token)1、客户端用户使用账号密码登录2、服务端进行验证并生成jwt(需要自己设置密钥,服务端根据密钥生成的jwt)3、服务端将jwt返回4、客

2021-10-07 16:08:03 343

原创 vue源码部分解析--双向数据绑定(vue2--Object.defineProperty)--基础解析篇

vue2的数据绑定(即v-model这些)是通过Object.defineProperty()的方式来实现的,听起来有点麻烦,那先看简单的示例再看后面的解析。原生js的双向绑定示例 <input type="text" name="" id="input" value="" /> <div id="app"></div> <script type="text/javascript"> var $=name=>document.getE

2021-09-30 23:41:28 195

原创 node--动态配置

在运行项目的时候,项目内的代码会被编译,但package.json中的代码不会改动的,因此,可以将一些配置信息写在package.json中,像端口号这些就可以写在这里,提高项目的可配置性。(本文是在上一篇的基础上写的,链接在这)需要安装一个插件 cross-envcnpm i -S cross-env安装完之后,我们可以在package.json中配置{..."script":{ "start":"cross-env PORT=3300 app.js" //app.js是项目的启动文件

2021-09-25 15:14:46 188

原创 Node--支持es6模块化的解决方式

node使用es6的导入导出(export、import)先写一个express.js吧,在express中导出var express = require("express");var util = require("util");// module.exports= function(port){export default function() { var app=express(); app.listenAsync=util.promisify(app.listen); app

2021-09-24 23:51:14 610

原创 关于uniapp发起请求获取到的数据第一个值为null的问题

在使用uniapp发起请求的时候,我看到它返回的数据格式跟我在接口文档中看到的不一样,本来应该是object类型的,不知道咋的变成了arrry类型,而且第一个值是null???虽然说这样也能使用,但毕竟跟原来的接口文档就有些不一样,有时候可能会搞混,那还是找找怎么解决吧找度娘问了下,虽然不清楚是什么原因来着,不过解决办法倒是有,就是封装成promise就可以了可以先新建一个utils工具类文件夹,在里面新建一个request.jsconst baseUrl="你的接口地址那通用部分"//导出

2021-09-16 16:34:32 2223

原创 vue声明式导航和编程式导航

一、路由导航的几种定义方法示例路由:const routes = [ { path: '/home', name:"home", component: () => import("../home/index.vue"), }1、声明式<router-link to="/home">home</router-link>2、编程式$router.push('/home')二、使用方式在路由中有多个跳转方式1、声明式第一种、直

2021-09-15 00:04:26 792 1

原创 vue项目打包

直接贴代码吧vue.config.js中let CompressionWebpackPlugin = require("compression-webpack-plugin")module.exports = { // publicPath: './', // 打包到子域下面 http://www.baidu.com/sub // publicPath: '/sub/', // outputDir: "dist/sub", //输出目录 /

2021-09-09 17:09:43 85

原创 token值的保存以及在header中传入使用

一般登录的时候系统后台会返回一个token值,我们可以新建一个utils工具类文件夹,放置例如token.js之类的处理文件exportfunctionsetToken(token){returnsessionStorage.setItem(tokenkey,token)}exportfunctiongetToken(){returnsessionStorage.getItem(tokenkey)}exportfunctionremoveToken(){...

2021-08-08 12:47:38 4118

原创 axios封装

将axios请求处理放在单独文件夹中我们可以在vue项目src目录中新建一个api文件夹,专门用于存放axios请求处理在api文件中新建两个文件,一个是index.js,一个是request.js,index.js用于写axios的配置相关信息,request.js则是将http请求集合起来。api目录中的index.js如下:import axios from 'axios'axios.defaults.baseURL = `你的请求地址`;// 添加请求拦截器// 在发..

2021-07-13 01:52:29 100

原创 全局组件导入方式

这次写的主要是webpack方面的,首先是组件方面的导出假如我在components文件夹中定义了一个global文件夹用来存放公共组件,这个global文件夹下的index.js就是用来将所有公共组件进行导出的看一下my-button文件夹中的示例吧,在my-button文件夹中只有两个文件,一个就是组件,另一个是用来将其导出的js文件,示例my-button文件夹中的main.vue如下<template> <div>我的按钮</.

2021-07-13 01:20:30 639 1

原创 vue组件导入的方式

第一种第一种自然是直接import xxx from "组件的路径",然后再到components中引用,例如vue自带的helloworld.vue示例:<template> <div class="home"> <img alt="Vue logo" src="../assets/logo.png"> <HelloWorld msg="Welcome to Your Vue.js App"/> </div>&

2021-07-11 23:55:32 13419 3

原创 防抖与节流

一、防抖用户触发事件过于频繁,只要最后一次事件的操作简单说就像是你在一个输入框里输入随意几个字,如“前端”,假设咱们系统功能是可以根据你输入的字符实时展示数据库的搜索结果,就像百度的搜索一样这个可以通过输入框的oninput事件来触发对应的数据库查找操作,但是oninput事件是你每输入一个字符都会被执行一次的。 也就是说,我虽然只输入一个“前”字,但实际上我却是触发oninput事件很多次了,<input type="te...

2021-07-05 01:05:00 59

原创 vuex学习

其实也没啥难度,安装vuex后使用而已一、通过this.$store.state.属性名操作数据第一种方式(this.$store.state.属性名)写法第一种就是在store/index.js中把数据写在newVuex.Store(){}中,然后去各个组件中使用this.$store.state.属性名 就行了//store.js页面(这个其实就是Vuex了)export default new Vuex.Store{ state:{ count:0 } }在组.

2021-07-01 17:12:35 182 1

原创 vue图片懒加载

图片懒加载其实就是在用户还未浏览到某些位置的时候就暂时不加载图片信息,以此节省带宽,减轻服务器压力以及优化用户体验,因为图片不是一次性全部加载完,故网页的加载速度会提升很多(前提是数据量比较大)。图片懒加载实际上就是使用html5的自定义属性data-xx,将图片src路径存储在该属性中,需要加载的时候再将数据替换到src路径中。在vue项目中有一个依赖可以轻松实现图片懒加载,vue-lazyload,Gitee仓库链接在这1、安装关于这个依赖在vue项目中的使用,首先自然是安装,我使用脚手

2021-07-01 02:05:29 836

原创 去掉那个框框--第三版实现功能与过程记录

一、实现的功能需要去掉的div的增删改查功能,本地存储二、过程记录1、代码优化原本的代码是下面这样经过前段时间对prototype的加深学习, 突然发现我根本就没必要把$()函数那么封装。一开始那么写是因为我发现document.querySelectorAll()获取到的是NodeList数组,这个NodeList数组所具有的方法跟Array数组并不相同,当时我又不知道为什么好多数组方法用不了,索性就直接使用扩展运算符将NodeList转换成Array数了。但是后来学习了原

2021-06-26 00:43:58 72 1

原创 promise相关

Promise是ES6中提出的解决异步编程导致的陷入回调地狱问题的方案,而且,promise本身是同步的,但是,.then()和.catch()是异步的。let a=new Promise((res,rej)=>{ console.log(1); res(2);})a.then(res=>{ console.log(3); console.log(res);})console.log(4);结果如下:重点:在promise中,如果调用了r

2021-06-25 16:42:55 56

原创 宏任务、微任务

何为宏任务、微任务事件循环:JS 会创建一个类似于while (true)的循环,每执行一次循环体的过程称之为Tick。每次Tick的过程就是查看是否有待处理事件,如果有则取出相关事件及回调函数放入执行栈中由主线程执行。待处理的事件会存储在一个任务队列中,也就是每次Tick会查看任务队列中是否有需要执行的任务。主线程:JS 只有一个线程,称之为主线程。而事件循环是主线程中执行栈里的代码执行完毕之后,才开始执行的。所以,主线程中要执行的代码时间过长,会阻塞事件循环的执行,也就会阻塞异步操作的执行..

2021-06-25 15:59:24 324

原创 插件开发记录二--数据存储问题

之前使用过localStorage去存放数据,但是后来发现,在网页端获取到的数据存放到localStorage的话,这个数据只能到当前网站下使用,切换了网站就用不了了。例如,当我在百度网站中使用localStorage,它保存下来的数据是在咱们浏览器中这个百度网站下的localStorage中的。查看localStorage的话而插件的页面实际上等同于另一个网站,两个网站之间的localStorage是不相通的,那数据就不好共享了,一个插件的数据如果只能在某个网页中才有用的话,那我写插.

2021-06-25 15:14:07 189

原创 插件开发问题记录一---localStorage使用问题

因为一开始就封装了一个选择器函数,我想着把对应的值存储到locaStorage就行了,但是我没想到我let $=name=>document.querySelectorAll(name);我把这个选择器获取到的对象存进了一个数组arr里,假设页面上有id为app和abc的元素,我用选择器将他们获取到,然后保存到数组arr中let arr=[$("#app"),$("#abc")];接着又把这个数组的值给了localStorage.arrlocalStorage.arr=arr

2021-06-23 01:21:35 295 1

原创 DevTools failed to load SourceMap: Could not load content for chrome-extension 解决

谷歌浏览器插件开发时遇到一个问题,就是我一直没法引用vue、elementUI这些js或者css资源文件,一直给我报错这个问题还好,搜到一个解答,其他的问题还没处理,先将这个怎么解决在谷歌浏览器中设置F12 --> 设置(上图中红框已标出) --> Perferences --> Sources禁用以下两项即可:Enable JavaScript source maps.Enable CSS source maps.打开f12,打开里面的设置。...

2021-06-21 21:01:19 1775 1

原创 missing-whitespace-between-attributes,unexpected-character-in-attribute-name

报错信息:missing-whitespace-between-attributesunexpected-character-in-attribute-name

2021-06-19 10:50:27 7411

原创 Component template should contain exactly one root element......

报错信息:Component template should contain exactly one root element. If you are using v-if on multiple elements, use v-else-if to chain them instead.翻译:

2021-06-13 18:05:59 6073

原创 Unknown custom element: <XXX> - did you register the component correctly? For recursive componen

报错信息:Unknown custom element: <addsync> - did you register the component correctly? For recursive components, make sure to provide the "name" option.

2021-06-13 15:57:11 1497

原创 laya-oppo 广告问题ad had showd, please reload

报错:code: 1004, msg: "ad had showd, please reload"这个问题da'gai'l

2021-06-10 11:28:58 543

原创 api搭配使用

一、获取到数字数组中的最大值//第一种console.log(Math.max(45,7,65,322,21))//第二种var a={ data:[45,7,64,322,21]}console.log(Math.max(...a.data))//第三种var xx={ lesson:{js:87,css:80,html:100,node:50}}console.log(Math.max(...Object.values(xx.lesson)))解析:第一.

2021-05-27 11:41:03 77

原创 全国省份、城市json文件获取

https://gitee.com/gaohuazi/china_regions/

2021-05-27 10:08:25 1368

会改变数组的方法和不会的.pdf

会改变数组的方法和不会的.pdf

2021-10-12

git常用指令教程文档--后续再接着完善(无需积分和付费)

git常用指令教程文档--后续再接着完善(无需积分和付费)

2021-05-26

laya分包简单教程(无需积分和付费)

laya分包简单教程(无需积分和付费)

2021-05-19

Laya_小米项目对接ts文件

简单的对接而已,需要优化的话各位自行优化哈

2021-05-07

Laya-小米快游戏发布数据加载失败(无需积分和付费)

Laya-小米快游戏发布数据加载失败(无需积分和付费)

2021-05-07

laya_小米快游戏发布(无需积分和付费)

关于laya发布小米快游戏的一些简单步骤

2021-05-07

laya_小米快游戏调试相关(无需积分和付费)

新手入门Laya项目与小米平台对接

2021-05-07

新手程序员可以看的Git常用指令(无需积分和付费)

一点比较基础的操作,新手入门用的上,不至于一脸懵,不过这是要在git已经安装好的基础上哈,使用typora打开吧

2021-04-28

vue学习文档-组件.pdf(无需积分和付费)

看黑马的教学课程总结的一部分知识点

2021-04-22

laya-关于预设(无需积分和付费)

给刚学习laya的新手的预设入门教程

2021-04-14

空空如也

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

TA关注的人

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