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

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

原创 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
1073
原创 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
3658
原创 使用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
349
原创 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
278
原创 JSbridge
一、什么是JSBridge主要是给 JavaScript 提供调用 Native 功能的接口,让混合开发中的前端部分可以方便地使用 Native 的功能(例如:地址位置、摄像头)。而且 JSBridge 的功能不止调用 Native 功能这么简单宽泛。实际上,JSBridge 就像其名称中的 Bridge 的意义一样,是 Native 和非 Native 之间的桥梁,它的核心是构建 Native 和非 Native 间消息通信的通道,而且这个通信的通道是双向的。双向通信的通道:JS 向 Native
2021-07-05 14:34:38
691
原创 字符串 + 数字 ,过长时会默认出现换行问题
字符串 + 数字 ,过长时会默认出现换行问题例如:<!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">
2021-05-18 18:12:56
854
原创 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
265
原创 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
4658
1
原创 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
392
原创 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
217
原创 公众号 接入微信支付
公众号页面 接入微信支付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
725
原创 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
6746
原创 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
3358
原创 .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
480
原创 wx-open-launch-app 微信内H5页面打开app
微信内H5打开app一、准备条件微信内访问网页时跳转到 APP的准备条件:服务号已认证:微信公众平台 注册一个【服务号】并微信认证开放平台账号已认证:微信开放平台 注册一个账号,并完成开发者资质认证服务号与开放平台账号同主体:【服务号】和【开放平台账号】认证主体一致!二、相关文档官方文档很详细功能介绍、使用说明、前期准备微信开放标签说明文档App获取开放标签中的extinfo数据三、重要设置微信公众平台 设置IP白名单,该IP地址获取access_token开发->
2021-04-01 16:11:34
3248
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
601
转载 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
488
原创 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
1222
原创 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
3601
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
1449
原创 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
1346
原创 js内置编码解码函数decodeURI()与decodeURIComponent()的区别
decodeURI() 与 decodeURIComponent() 的区别编码函数encodeURI() 会对特殊字符进行编码(¥ %):¥ 对应 %EF%BF%A5;空格对应 %20 ;% 对应 %25encodeURIComponent() 不会对特殊字符进行编码(¥ %)解码函数decodeURI() 可对 encodeURI() 函数编码过的 URI 进行解码decodeURIComponent() 可对 encodeURIComponent() 函数编码的 URI 进行解码
2021-03-15 11:18:05
382
原创 使用 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
1112
原创 罗永浩写给俞敏洪的信
罗永浩写给俞敏洪的信:俞校长您好:我先对照一下新东方最新的招聘要求:1、有很强的英语水平,英语发音标准英语水平还好,发音非常标准,我得承认比王强老师的发音差一点。很多发音恐怖的人(宋昊、陈圣元之流)也可以是新东方的品牌教师,我不知道为什么要要求这一条,尽管我没这方面的问题。2、大学本科或以上学历,英语专业者优先真不喜欢这么势利的条件,这本来应该是实力、马力之流的学校的要求。3、有过考TOEFL、GRE的经验GRE考过两次。4、有教学经验者,尤其是教过以上科目者优先教过后来被国家明令禁止的
2021-03-05 11:29:44
572
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
3123
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
1176
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
9314
1
原创 vue项目中 configureWebpack 与 chainWebpack的区别及配置方式
configureWebpack 与 chainWebpackconfigureWebpack该对象将会被 webpack-merge 合并入最终的 webpack 配置。如果你需要基于环境有条件地配置行为,或者想要直接修改配置,那就换成一个函数 (该函数会在环境变量被设置之后懒执行)。该方法的第一个参数会收到已经解析好的配置。在函数内,你可以直接修改配置,或者返回一个将会被合并的对象:对象式写法:const path = require("path");function resolve(dir
2021-03-03 10:36:45
8471
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
1394
原创 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
549
原创 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
1285
egg-example.zip
2020-11-26
react-project.zip
2020-11-26
vue路由管理.zip
2020-04-17
vue状态管理.zip
2020-04-17
vue组件化.zip
2020-04-17
vue-config.7z
2020-04-11
vue-config.zip
2020-04-11
vue3.0环境变量配置.md
2020-04-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人