自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xccjk的博客

学习记录

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

原创 使用docker上私有化部署gitlab

登录成功后,点击右上角头像,Edit profile -> Password -> 输入命令行获取的密码,输入新密码。启动成功后,可以在Containers中查看到启动的容器。,登录gitlab,进入gitlab设置页面修改。点击run,在配置页面填入下面内容。,这一步会有点慢,需要等待一下。

2023-05-19 17:11:59 288

原创 微信小程序多音频场景处理 - 背景音频

微信小程序多音频场景处理 - 背景音频提到音频播放控制,不得不提背景音频这个方法wx.getBackgroundAudioManager很不幸,这个有坑。当使用场景为单音频播放或者不需要记录每个音频播放的位置时,使用它是一个合适的选择。当需要记录每个音频的播放位置时,这个就会有些问题了。问题来源backgroundAudioManager.seek这个API。重要的事情说3遍:backgroundAudioManager.seek在模拟器上正常,但是在真机上不生效,每次都会重新播重要的事情说3遍:b

2022-03-28 16:56:56 554

原创 微信小程序 swiper禁止手动切换

微信小程序 swiper禁止手动切换给swiper设置catchtouchmove为true,设置swiper-item的catchtouchmove返回false<swiper class="swiper" indicator-dots="{{false}}" circular autoplay="{{true}}" vertical="{{true}}" interval="{{3000}}" duration="{{300}}" easing-functio

2022-03-28 16:56:09 949

原创 微信小程序多音频场景处理

微信小程序多音频场景处理背景:页面中有多条数据,每条数据都可以单独播放,不同时播放核心逻辑就是每个音频单独初始化一个方法,每个音频播放的进度等信息都单独控制通过wx.createInnerAudioContext来控制// wxml<view wx:for="{{list}}" wx:key="id"> <view play="{{play}}" url="{{item.url}}" id="{{item.id}}">播放</view></view&

2022-03-28 16:55:14 1128

原创 微信小程序页面跳转时URL参数丢失问题

最近在小程序开发过程中,发现之前可用的某个功能字段展示为了undefined,后来查看参数发现页面跳转时参数丢失了导致的 // group/index.js handleJump() { const { id, cover, title = '123' } = this.data wx.navigateTo({ url: `/pages/group/result?id=${id}&cover=${cover}&title=${title}` })

2021-10-21 15:28:29 3165

原创 要node支持import等新语法,看这里你就都明白了

要node支持import等新语法,看这里你就都明白了现状大家在编写node相关代码时,肯定遇到过下面的问题 // a.js import fs from 'fs' ... // bash node a.js在你没有做过任何处理的情况下,肯定会出现一个挺傻的错误看到这里,你肯定会想,大清都亡了,在node中还不能使用import等新语法嘛那么node不支持import语法的根本原因是什么呢?两者采用的模块化规范不一样,nodejs采用的是CommonJS的模块化规范,使

2021-10-15 16:37:23 3623 1

原创 钉钉机器人接入中,你应该知道的一些坑

常见错误问题图片不展示图片必须是网络路径,本地路径的图片,base64好像是不行的@指定的人不成功以markdown格式举例,常用的@指定人的方式,一种是手机号,一种是通过userId来指定的手机号@指定的人手机号@指定的人,在atMobiles中填入手机号后,一定要在text字段中拼接手机号信息 { "msgtype": "markdown", "markdown": { "title": `打包发布通知`, "text": `#### 应用发布

2021-10-14 11:04:49 1348

原创 微信小程序实现基于node的自动打包上传

基于node实现自动打包上传代码在平时的小程序开发过程中,可能会遇到下面这些小问题,虽然不影响开发过程,但是开发体验确会差一点,具体如下:每次在编辑器中运行构建命令,第一次还需要手动打开微信开发者工具,打开指定项目每次准备发布体验版时,需要先在本地打包,等待打包完成,在开发者工具中点击上传代码那么怎么避免重复的操作,特别是比较频繁的发布场景,可能每天需要多次的等待及上传操作。对于问题1,相信很多人想的,就是每次输入命令时,微信开发者工具可以自动打开,并且可以打开当前指定的项目;对于问题2,每次

2021-08-25 18:20:04 1274

原创 webpack常用开发体验/分析相关工具

寻找项目中未使用资源 unused-webpack-plugin它能够根据webpack的统计信息,查找出项目中未使用的资源,包含图片、js、css、html等资源,在项目重构是很有用效果图:使用方式:webpack.dev.config.jsconst UnusedWebpackPlugin = require('unused-webpack-plugin')module.exports = { ..., plugins: [ new UnusedWebpackPlugin({

2021-07-01 22:55:05 631

原创 react中css作用域问题探究

场景1新建组件Page1与Page2,两个组件的根节点className设置为一样目录结构如下:​src/pages/page1/index.jsimport React from 'react'import './index.css'function Page1() { return ( <div className='title'>page1</div> )}export default Page1src/pages/page1/inde

2021-07-01 22:33:18 364

原创 Jenkins中接入钉钉通知

最近在做前端打包发布平台,需要在每次发布完成之后将构建信息发布到钉钉群里,后面就想到在Jenkins中接入钉钉通知,来实现相关功能钉钉新建群聊,在群里添加机器人桌面端钉钉发起群聊,点击群设置,智能群助手机器人管理-添加机器人-自定义机器人自定义机器人-添加-填写机器人相关信息安全设置根据自己公司的需求来选择就可以了,最简单的就是自定义关键字来测试信息填写完成提交后可以看到生成的Webhook信息了此时就可以看到群里通知创建了一个机器人了Jenkins安装钉钉插件

2021-06-24 11:35:25 323 1

原创 css modules与antd一起使用时,antd样式不生效解决方案

css modules与antd一起使用时,antd样式不生效解决方案最近在做历史项目的依赖升级,历史依赖版本: "react": "^15.5.4", "react-dom": "^15.5.4", "antd": "^2.10.1", "autoprefixer": "6.7.2", "babel-core": "6.22.1", "babel-eslint": "7.1.1", "babel-jest": "18.0.0", "babel-loader": "6.2

2021-05-27 19:37:53 2240 1

原创 JavaScript异步编程方案

JavaScript异步编程方案非常推荐的一门课【拉钩教育-JavaScript核心原理精讲】地址下面有,如有侵权,类型删除问题同步编程和异步编程的区别在哪里?回调地狱有哪些方法可以解决?什么是同步同步就是在执行某段代码时,在该代码没有得到返回结果之前,其它代码暂时是无法执行的,会等待前面的代码执行完再执行什么是异步异步就是当一段代码执行异步过程调用发出后,这段代码不会立刻返回结果。而是在异步调用发出后,一般通过回调函数处理这个调用之后拿到的结果。异步调用发出后,不会阻止后面代码的执行,

2021-04-29 00:24:19 97

转载 浅谈JavaScript中call与apply的模拟实现

浅谈JavaScript中call与apply的模拟实现callcall()方法是使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法语法:function.call(thisArg, arg1, arg2, ...)thisArg可选,非严格模式下,当值为null或者undefined时指向windowarg1… 参数列表demo:var foo = { name: 'xcc'}function bar (age) { console.log(`

2021-04-27 01:23:26 78

原创 浅谈JavaScript闭包

闭包什么是闭包闭包其实就是一个可以访问其它函数内部变量的函数从技术的角度讲,所有的JavaScript函数都是闭包:它们都是对象,它们都关联到作用域链当函数可以记住并访问所在的词法作用域时,就产生了闭包,即使函数是在当前词法作用域之外执行function foo() { var name = 'xcc' return function() { console.log(name) }}foo()var result = foo()result()

2021-04-26 00:53:46 217

原创 浅谈JavaScript作用域

JavaScript作用域什么是作用域JavaScriptt的作用域通俗的将,就是指变量能够被访问到的范围作用域是用来确定在何处以及如何查找变量/标识符的规则作用域就是查找变量的地方作用域分类全局作用域全局作用域是挂载在window对象下的,在任何位置都可以访问到直接被赋值的变量默认为全局变量,拥有全局作用域函数test执行时打印了变量b,在函数内部没有找到变量b时,会到函数外层中查找,找到了就停止查找并且输出。这种通过访问函数外部变量的方式称为全局作用域// 全局作用域var

2021-04-25 23:55:05 77

原创 JavaScript事件捕获事件冒泡与事件委托

事件捕获事件冒泡与事件委托事件捕获事件捕获中,父级元素先触发,子集元素后触发事件会从最外层开始,直到具体的元素,比如click的捕获过程document->html->body->div->p事件冒泡事件冒泡时,子元素先出发,父级元素后触发元素自身事件被触发后,如果父元素有相同的事件,那么元素本身的触发状态就会传递,就是冒到父元素,父元素相同事件也会一级级向外触发默认情况下,所有事件处理程序都是在冒泡阶段注册的如果想早捕获阶段注册事件,通过addEventLi

2021-04-23 20:15:56 172

原创 几句话,让你搞懂this问题

几句话,让你搞懂this问题先说结论函数被谁调用,this就是谁,如果没有被对象调用,this就是window通过new声明的构造函数,函数内容的this永远指向函数本身箭头函数没有this,箭头函数内部的this取决于外部定义时的环境箭头函数的this指向外层函数的this,如果外层也不存在this,会查找到window常见的几种this使用场景声明式function test1() { console.log(this)}test1() // window匿名函数/赋值式

2021-04-20 17:45:50 60

原创 电脑上配置同时访问github与gitlab

电脑上配置同时访问github与gitlabgit bash 运行命令ls -al ~/.ssh,查看.ssh文件下是否有生成秘钥文件[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n3FwO8Ba-1618911791578)(image/1.jpg)]如果目录下没有.ssh文件,使用mkdir ~/.ssh生成.ssh文件,同时chmod 700 ~/.ssh给权限如果有.ssh文件,运行cd ~/.ssh到.ssh文件下,输入ls命令查看秘钥文件生成秘钥文件

2021-04-20 17:44:08 183

原创 怎么发布一个npm包

怎么发布一个npm包创建一个npm账号,一般用邮箱与密码注册登录即可。npm注册创建一个文件夹,比如名称为xccmkdir xcc && cd xccnpm init填入你希望的包的名称与版本号即可,假如包的名称为xcc-standrad-eslint,版本为0.1.0xcc文件夹创建index.js文件,随便写点内容即可如果本机第一次发布npm包npm adduser会要求填入用户名与密码,还有邮箱等信息,填写注册npm时的账号即可信息正确后会出现Logged

2021-04-20 17:40:12 67

原创 github上图片不显示

github上图片不显示运行环境mac pro命令行输入sudo vi /etc/hosts,需要输入电脑密码命令行打开hosts文件后,输入i,下面会出现-- INSERT --后就可以输入内容了将下面内容拷贝到hosts文件最下面 # GitHub Start 192.30.253.112 Build software better, together 192.30.253.119 gist.github.com 151.101.184.133 asse

2021-04-20 17:38:40 132

原创 webpack5升级过程遇到的一些坑

webpack5升级过程遇到的一些坑版本相关信息node: v14.15.0npm: 6.14.8mac: 10.14.6webpack: 5.10.3webpack-cli: 4.2.0webpack-dev-server: 3.11.0 "webpack": "^5.10.3", "webpack-cli": "^4.2.0", "webpack-dev-server": "^3.11.0" // .babelrc.js module.exports = {

2021-04-20 17:36:02 5112

原创 浅谈前端模块化

浅谈前端模块化CommonJSnodejs使用的规范文件即模块,通过指定的方式进行导出/表示通过绝对路径来加载模块,./表示通过相对路径来加载模块模块加载会有缓存存在,存放在require.cache中,并且缓存是根据绝对路径来识别的CommonJS是同步加载的,加载完成之后再进行下面的操作运行时加载,CommonJS就是对象,在输入时先加载整个模块,生成一个对象,然后在从这个对象上面读取方法CommonJS输出的是值拷贝,一旦输出一个值,模块内部变化不会影响这个值// a.jsf

2021-04-20 17:33:05 48

原创 7种CSS左侧固定,右侧自适应布局

7种CSS左侧固定,右侧自适应布局效果预览7中常见实现方式flex.item-1 { display: flex;}.item-1 .left { width: 200px;}.item-1 .right { flex: 1;}.item-2 { display: flex;}.item-2 .left { flex-basis: 200px;}.item-2 .right { flex-grow: 1;}calc属性.item-3 .left

2021-04-20 17:28:25 175

空空如也

空空如也

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

TA关注的人

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