自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(62)
  • 资源 (11)
  • 收藏
  • 关注

原创 使用taro进行小程序开发以及小程序上线流程

使用taro进行小程序开发以及小程序上线流程准备1 注册 登录在 微信小程序官网 注册账号,注册完成后进行登录2 获取 AppIDAppID 作为一个唯一标识,在后面小程序开发里面起到贯穿始终的作用,注册登录进去之后,左侧 - 开发 模块,“开发设置” 里面可以获取到你的 AppID3 项目开发可以使用市场上已经存在的框架或者原生的小程序代码进行开发,下载 微信开发者工具 ,在微信开发者工具里面设置好 AppID ,项目编译之后运行在开发工具里面,没有问题的话点击 上传 即可把编译之后的代码上

2020-11-26 17:46:32 3062 5

原创 React 项目从0到1完整开发

React 项目从0到1完整开发1 项目准备npm install -g create-react-app // 全局安装react脚手架create-react-app demo // 使用脚手架创建react项目cd demoyarn start // 进入项目文件夹,启动项目2 项目结构app.css // 样式文件App.js // 项目初始化的时候自动创建的一个跟组件App.test.js // 测试文件index.css // 样式文件i

2020-11-26 17:41:48 561

原创 Vue项目从0到1完整开发

Vue项目从0到1完整开发1 项目准备npm install -g @vue/cli // 安装 vue 脚手架vue create my-vue // 创建 vue 项目,可选配置路由、vuex等cd my-vue // 进入项目文件夹yarn serve // 启动项目若使用 eslint+prettier 进行代码格式校验,当因为报错 'xxxxx' is defined but never used 而不能正常渲染的时候,可以在项目根目录下 .eslintr

2020-11-26 17:39:42 975

原创 Promise.all使用

Promise.all使用

2022-07-26 18:14:02 178 1

原创 js监听键盘点击事件

js监听键盘点击事件:keyCode、code

2022-07-19 17:39:45 1568

原创 flex布局子元素宽度被压缩

flex布局子元素宽度被压缩

2022-07-19 17:25:46 1591

原创 Antd 时间日期选择器,选择当前时间以后的时间

Antd时间日期选择器,选择当前时间之后的时间

2022-07-12 13:31:21 2206

原创 获取图片信息

通过图片地址获取图片信息

2022-06-30 11:37:07 258

原创 时间戳转时间对象

时间戳转时间对象(年月日时分秒)、倒计时

2022-06-29 17:41:29 185

原创 css单行溢出省略号、多行溢出省略号

css溢出省略号

2022-06-20 19:10:04 84

原创 iOS企业签下载

iOS企业签下载需要3个文件app logo:icon.pngiOS企业签安装包:xxx.ipaplist文件:ipa.plistapp logo 和 iOS企业签安装包 需要ui和终端提供,plist文件 格式如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyLis

2021-08-11 14:54:47 3463

原创 使用js、标签、文件版本跳过浏览器缓存

避免缓存缓存是浏览器的功能特性,不是 bug,为了增强用户体验,浏览器一般都会把网页上所需的静态文件缓存到本地,再次刷新的时候则无需再重新加载但是我们有时候就是不需要浏览器缓存这些文件,而是每次都从服务器端读取数据,可以用以下做法:使用 js 配合 mate 标签及文件版本号,实现避免浏览器缓存<meta HTTP-EQUIV="pragma" CONTENT="no-cache"><meta HTTP-EQUIV="Cache-Control" CONTENT="no-stor

2021-07-07 12:00:32 238

原创 VConsole 终端调试工具

VConsole 终端调试工具web 页面在终端展示时调试较为麻烦,可以使用 VConsole,实现类似于浏览器控制台的效果,引入方式如下:<script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script><script> // 初始化 vConsole var vConsole = new VConsole();</script>这样,就能在终端方便

2021-07-05 15:09:45 204

原创 JSbridge

一、什么是JSBridge主要是给 JavaScript 提供调用 Native 功能的接口,让混合开发中的前端部分可以方便地使用 Native 的功能(例如:地址位置、摄像头)。而且 JSBridge 的功能不止调用 Native 功能这么简单宽泛。实际上,JSBridge 就像其名称中的 Bridge 的意义一样,是 Native 和非 Native 之间的桥梁,它的核心是构建 Native 和非 Native 间消息通信的通道,而且这个通信的通道是双向的。双向通信的通道:JS 向 Native

2021-07-05 14:34:38 587

原创 字符串 + 数字 ,过长时会默认出现换行问题

字符串 + 数字 ,过长时会默认出现换行问题例如:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"&gt

2021-05-18 18:12:56 646

原创 css继承介绍

css继承介绍外层元素身上的样式会被内层元素所继承。当内层元素身上的样式与外层的元素身上的样式相同时内层元素样式会覆盖外层元素样式。只有文本与字体样式属性才能够被继承,其余的样式属性不可以被继承。1 外层元素身上的样式会被内层元素所继承<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" c

2021-05-11 14:33:39 194

原创 position:fixed 实现相对于父元素定位

position:fixed 实现相对于父元素定位比如:中间内容区域的大小固定为1000px,对应不同的浏览器宽度,要使得某一个资源子固定在相对于内容区域的某一个位置,就不能使用 left:xxx,right:xxx这样写position:fixed 是对于浏览器窗口定位的,要实现相当于父元素定位,可以这样:<style> .fa { width: 500px; height: 5000px; background-color: red; margin:

2021-05-10 17:32:39 4420

原创 react函数组件和类组件

定义组件有两个要求:组件名称必须以大写字母开头组件的返回值只能有一个根元素函数组件function Welcome (props) { return <h1>Welcome {props.name}</h1>}ReactDOM.render(<Welcome name='react' />, document.getElementById('root'));函数组件接收一个props对象,并返回一个React元素类组件class Welcome

2021-04-27 15:51:20 339

原创 Path.resolve

Path.resolve()resolve 将路径或路径片段的序列解析为绝对路径resolve的定义对于给定的路径片段,是 从右向左 拼接处理,直至构造出绝对路径;如果在处理完所有给定的 path 片段之后还未生成绝对路径,则需要加上当前工作目录。demo示例var path = require("path") //引入node的path模块path.resolve('/foo/bar', './baz') // returns '/foo/bar/baz'path.res

2021-04-25 11:01:16 164

原创 公众号 接入微信支付

公众号页面 接入微信支付1. 引入js文件<script type="text/javascript" src="https://res2.wx.qq.com/open/js/jweixin-1.4.0.js"></script>2. 微信初始化配置wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 a

2021-04-20 10:36:29 596

原创 axios 自定义添加请求头 单独添加请求头

axios 自定义添加请求头axios 封装import Vue from 'vue'import axios from 'axios'axios.defaults.timeout = 5000;axios.defaults.baseURL = process.env.VUE_API_ROOT; // 请求拦截axios.interceptors.request.use((config) => { let userToken = window.localStorage.getIt

2021-04-19 18:41:49 6489

原创 vue项目部署后,文件加载相对路径设置

vue项目部署后,文件加载相对路径设置vue项目打包放在oss服务器上,有时会因为oss上项目文件夹没有存在于配置的域名根目录下,就可能引起项目文件css、js等出现加载失败的情况例如:oss配置域名 https://web.aaaa.com/ ,项目文件夹目录为 ost/web/H5/ ,这样我们在加载项目文件夹目录下 index.html 时,就可能会出现css、js文件加载失败,因为我们如果设置了绝对路径,项目就会从域名根目录下找资源vue.config.js 文件修改项目配置文件public

2021-04-15 14:48:17 3131

原创 .gitignore 常见忽略规则

.gitignore常见忽略规则如下:# 表示此为注释,将被Git忽略*.a: 表示忽略所有 .a 结尾的文件oss-*.js: 表示忽略 oss-xx.js 的文件!lib.a: 表示lib.a除外/TODO: 表示仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODObuild/: 表示忽略 build/目录下的所有文件,过滤整个build文件夹;doc/*.txt: 表示会忽略doc/notes.txt但不包括 doc/server/arch.tx

2021-04-06 11:40:08 392

原创 wx-open-launch-app 微信内H5页面打开app

微信内H5打开app一、准备条件微信内访问网页时跳转到 APP的准备条件:服务号已认证:微信公众平台 注册一个【服务号】并微信认证开放平台账号已认证:微信开放平台 注册一个账号,并完成开发者资质认证服务号与开放平台账号同主体:【服务号】和【开放平台账号】认证主体一致!二、相关文档官方文档很详细功能介绍、使用说明、前期准备微信开放标签说明文档App获取开放标签中的extinfo数据三、重要设置微信公众平台 设置IP白名单,该IP地址获取access_token开发-&gt

2021-04-01 16:11:34 3059 6

原创 px、em、rem、%、vw、vh、vm的区别

px、em、rem、%、vw、vh、vm的区别pxpx 就是 pixel 的缩写,意思是:像素px 就是设备或者图片最小的一个点,比如常常听到的电脑像素是1920x1080的,表示的是水平方向是1920个像素点,垂直方向是1080个像素点。px 是我们网页设计常用的基本单位。通过px可以设置固定的布局或者元素大小,缺点是不能弹性。emem的值并不是固定的,会继承父级元素的字体大小参考物是父元素的font-size(浏览器默认字体是16px),具有继承的特点。如果自身定义了 font-size 那

2021-03-20 16:45:00 355

转载 vite:极速、轻量构建工具(结合vue3 )

1.创建一个vite项目npm init vite-app <project-name>cd <project-name>npm install npm run dev或者yarn create vite-app <project-name>cd <project-name>yarn yarn dev2.vite简介vite 是一个基于 Vue3 单文件组件的非打包开发服务器,它做到了本地快速开发启动:快速的冷启动,不需要等待打包

2021-03-19 17:59:41 437

原创 JavaScript 中各种方法对数组遍历的速度比较

数组遍历速度循环一直是大多数编程语言的重要组成部分, JavaScript 为我们提供了许多迭代或循环值的方法。for 循环有很多变形,例如 for、for(倒序)、for…of、forEach、for…in、for…await。哪种循环更快呢?答案是: for(倒序)以下使用代码进行测试的结果:const steps = 1000000; const arr = Array(steps);console.time('⏰');for (let i = arr.length; i > 0

2021-03-18 19:33:42 1090

原创 js判断滚动到底或滚动到顶

js判断滚动到底或滚动到顶原生判断其中:scrollTop:滚动条滚动时,滚动条上端距离顶部的距离clientHeight:可视区的高度scrollHeight:滚动条的总高度(当前可滚动的页面的总高度)window.addEventListener('scroll', scroll)function scroll() { const scrollTop = document.documentElement.scrollTop || document.body.scrollT

2021-03-18 13:44:42 2963 3

原创 vant 推荐自动按需引入组件及组件重命名踩坑

vant 推荐自动按需引入组件安装插件npm i babel-plugin-import -D配置文件在.babelrc 中添加配置{ "plugins": [ ["import", { "libraryName": "vant", "libraryDirectory": "es", "style": true }] ]}对于使用 babel7 的用户,可以在 babel.config.js 中配置module.expo

2021-03-17 14:30:39 1360

原创 vue项目中 vscode 配置别名路径提醒

vue项目中 vscode 配置别名路径提醒实现效果:vue项目中,输入路径 "@/..." 自动提示后续路径修改项目默认配置// vue.config.jsmodule.exports = { publicPath: "/", outputDir: "dist", lintOnSave: false, // 关闭eslint productionSourceMap: true, // 生产环境下css 分离文件 configureWebpack: { resolve

2021-03-15 18:34:38 1270

原创 js内置编码解码函数decodeURI()与decodeURIComponent()的区别

decodeURI() 与 decodeURIComponent() 的区别编码函数encodeURI() 会对特殊字符进行编码(¥ %):¥ 对应 %EF%BF%A5;空格对应 %20 ;% 对应 %25encodeURIComponent() 不会对特殊字符进行编码(¥ %)解码函数decodeURI() 可对 encodeURI() 函数编码过的 URI 进行解码decodeURIComponent() 可对 encodeURIComponent() 函数编码的 URI 进行解码

2021-03-15 11:18:05 318

原创 使用 vue 开发一个简单的滑块拖动验证码

vue 简单的滑块拖动验证码组件// components/SlidingVerification/index.vue<template> <div class="jc-component__range"> <div class="jc-range" :class="rangeStatus ? 'success' : ''"> <i @mousedown="rangeMove" :class="rang

2021-03-11 11:44:45 1000

原创 罗永浩写给俞敏洪的信

罗永浩写给俞敏洪的信:俞校长您好:我先对照一下新东方最新的招聘要求:1、有很强的英语水平,英语发音标准英语水平还好,发音非常标准,我得承认比王强老师的发音差一点。很多发音恐怖的人(宋昊、陈圣元之流)也可以是新东方的品牌教师,我不知道为什么要要求这一条,尽管我没这方面的问题。2、大学本科或以上学历,英语专业者优先真不喜欢这么势利的条件,这本来应该是实力、马力之流的学校的要求。3、有过考TOEFL、GRE的经验GRE考过两次。4、有教学经验者,尤其是教过以上科目者优先教过后来被国家明令禁止的

2021-03-05 11:29:44 472 2

原创 js:判断页面在 微信 微博 QQ 支付宝 钉钉 内置浏览器内打开

js:判断页面在 微信 / 微博 / QQ / 支付宝 内置浏览器内打开const u = navigator.userAgent.toLowerCase()let isApp = u.match(/MicroMessenger/i) == "micromessenger" || u.match(/WeiBo/i) == "weibo" || u.match(/QQ/i) == "qq" || /alipay/ig.test(u)通过以上代码,就可以使用js判断,当前页面是否在 微信

2021-03-04 18:27:07 2927 3

原创 Vue.config.productionTip = false 是什么意思

Vue.config.productionTip = false 是什么意思开发环境分为:本地开发环境、线上测试环境、线上生产环境等这句代码的作用是:阻止显示生产模式的消息 官网地址若 Vue.config.productionTip = true ,或者将这句话注释,控制台会打印一句话You are running Vue in development mode.Make sure to turn on production mode when deploying for production

2021-03-04 18:13:51 1111 1

原创 VUE报错 Uncaught (in promise) error

VUE报错 Uncaught (in promise) error原因:是因为后续并没有跟随任何 then | catch 语句,因此它将抛出错误,所以要养成良好习惯,promise记得写上catch可尝试在 then() 后加上 catch()login({ commit }, userInfo) { const { username, password } = userInfo return new Promise((resolve, reject) => { c

2021-03-03 16:26:18 8280 1

原创 vue项目中 configureWebpack 与 chainWebpack的区别及配置方式

configureWebpack 与 chainWebpackconfigureWebpack该对象将会被 webpack-merge 合并入最终的 webpack 配置。如果你需要基于环境有条件地配置行为,或者想要直接修改配置,那就换成一个函数 (该函数会在环境变量被设置之后懒执行)。该方法的第一个参数会收到已经解析好的配置。在函数内,你可以直接修改配置,或者返回一个将会被合并的对象:对象式写法:const path = require("path");function resolve(dir

2021-03-03 10:36:45 8096 1

原创 VUE中使用router.addRoutes进行管理菜单权限

addRoutesvue 动态添加路由 官方文档需求:不同用户登陆后台,针对用户角色添加不同的权限思路:在路由全局前置守卫中,从后台获取用户最新的权限列表,使用 addRoutes 方法,动态更新用户权限// src/permission.jsimport router from './router'import { getToken } from '@/utils/auth' // get token from cookieconst whiteList = ['/login', '/

2021-03-01 19:39:45 1249

原创 webpack4 多页面应用 多环境配置

webpack4 多页面 多环境配置使用 webpack4 + 原生html ,搭建多页面应用(例如:app配套的活动项目)项目目录:build |-envs.js |-rules.js |-webpack.base.conf.js |-webpack.dev.conf.js |-webpack.prod.conf.js |-webpack.test.conf.jssrc |-commom |-css |-js |-pages |-home

2021-02-23 16:54:29 482

原创 webpack对js进行压缩处理

webpack对js进行压缩处理目前针对 webpack 配置有两个插件可以选择uglifyjs-webpack-pluginterser-webpack-plugin1 uglifyjs-webpack-plugin使用npm install uglifyjs-webpack-plugin --save-devwebpack配置plugins: [ //删除dist_h5目录 new cleanWebpackPlugin(['dist_h5'], { root: pat

2021-02-23 15:33:34 1206

egg-example.zip

以node.js为基础,使用JavaScript来进行项目开发,使用Egg.js框架,以前端之名 写后端之实,项目只提供接口书写的相关例子,以及Egg.js项目的基础结构

2020-11-26

taro-demo.zip

使用Taro进行小程序项目开发,包括路由、状态管理、小程序配置、标题组件等,复制粘贴即可使用Taro框架搭建一个完整的小程序项目

2020-11-26

react-project.zip

使用react全家桶进行项目开发,包括react、react-router-dom、redux、axios、config.js,复制粘贴即可使用react搭建一个完整的前端项目结构

2020-11-26

vue-project.zip

使用vue进行前端项目搭建,包括vue、路由、状态管理、环境配置、axios封装等,复制粘贴即可完整实现一个vue前端项目的模板

2020-11-26

vue-mobile.zip

vue 移动端项目,需要根据手机屏幕的大小自动适应,避免样式bug,使用插件项目自动转化为 rem 布局,未开始或进行中的项目都可以进行配置

2020-04-17

vue路由管理.zip

vue-router是Vue.js官方的路由插件,它和vue.js是深度集成的,适合用于构建单页面应用。vue的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。传统的页面应用,是用一些超链接来实现页面切换和跳转的。在vue-router单页面应用中,则是路径之间的切换,也就是组件的切换。

2020-04-17

vue状态管理.zip

如果你之前使用过vue.js,你一定知道在vue中各个组件之间传值的痛苦,在vue中我们可以使用vuex来保存我们需要管理的状态值,值一旦被修改,所有引用该值的地方就会自动更新,那么接下来我们就来学习一下vuex是如何修改状态值的

2020-04-17

vue组件化.zip

组件(Component)是 Vue.js 最强大的功能之一。 组件可以扩展 HTML 元素,封装可重用的代码。 组件系统让我们可以用独立可复用的小组件来构建大型应用,几乎任意类型的应用的界面都可以抽象为一个组件树

2020-04-17

vue-config.7z

vue3.0环境变量配置 根据不同的指令: npm run serve // 搭建本地环境 npm run dev // 生成测试环境文件夹(可自定义为devdist) npm run build // 生成生产环境文件夹(一般默认为dist) ### 思路: 1,创建修改相关配置文件(Ctrl + C V即可) 2,封装 axios(根据配置文件,首先判断当前环境,获取对应环境的数据库地址作为当前环境下的基础地址,**拼接到** axios 里面的 url ) 3,模块化开发 4,使用插件对代码进行测试判断环境配置是否成功

2020-04-11

vue-config.zip

vue3.0环境变量配置 根据不同的指令: npm run serve // 搭建本地环境 npm run dev // 生成测试环境文件夹(可自定义为devdist) npm run build // 生成生产环境文件夹(一般默认为dist) 思路: 1,创建修改相关配置文件(Ctrl + C V即可) 2,封装 axios(根据配置文件,首先判断当前环境,获取对应环境的数据库地址作为当前环境下的基础地址,**拼接到** axios 里面的 url ) 3,模块化开发 4,使用插件对代码进行测试判断环境配置是否成功

2020-04-11

vue3.0环境变量配置.md

vue3.0环境变量配置大致思路: 1,创建修改相关配置文件(Ctrl + C V即可) 2,封装 axios(根据配置文件,首先判断当前环境,获取对应环境的数据库地址作为当前环境下的基础地址,**拼接到** axios 里面的 url ) 3,模块化开发 4,使用插件对代码进行测试判断环境配置是否成功

2020-04-08

空空如也

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

TA关注的人

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