自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(9)
  • 收藏
  • 关注

原创 npm run build命令行传参

前言使用webpack打包,通常需要区分测试环境与生产环境,来配置不同的资源路径。由于项目使用了线上打包,如何在npm run build时传入当前的环境参数呢?经过查阅资料,用以下方法实现,记录一下~实现在npm run build后使用- -实现参数传递。npm run build --evnmode=$PROC_ENV这样就可以在webpack的配置文件中,获取到参数。var publicPath = process.env.npm_config_evnmode == "stagi

2021-06-14 16:33:40 4831 3

原创 JS使用||运算符设置默认值

JS设置默认值在js中为参数设置默认值,最常用的两个方法,第一个是三元运算符,第二个就是||运算符。var a = args[0] ? args[0] : 1; //设置a的默认值为1var a = args[0] || 1; //设置a的默认值为1||运算符设置默认值的逻辑运算使用||运算符设置默认值的方式,是平时使用的比较多的。但前几天,在项目中发现了一个bug,代码是这种形式的:var a = args[0] || 1 + args[1] || 1 + args[3] || 1;这段

2021-04-13 19:45:01 1383

原创 CSS使用background简写遇到的坑

前言在使用backgound简写设置背景时,遇到了一个小坑,记录一下,提醒自己,要细心哪。background简写支持的属性background-color —背景颜色background-position —背景位置background-size —背景大小尺寸background-repeat —如何重复background-origin —制定背景定位的相对位置background-clip —背景区域background-attachment —背景固定或滚动backgroun

2021-04-11 16:45:38 586

原创 1像素线的实现与兼容

前言移动端1像素线之所以是个问题,是因为移动端有像素比的概念。什么是像素比(devicePixelRatio)呢?像素比 = 物理像素/设备独立像素 其中,物理像素是指设备屏幕所拥有的实际像素点,其值是固定的,在设备出厂时就设置好了的。设备独立像素,顾名思义就是独立于设备的用于逻辑上衡量像素的单位,又称为逻辑像素。在开发时,你会发现用样式写了1px线后,在移动端设备上看起来会变粗,这就是因为像素比大于1,导致在移动端实际展示的线是大于1px的。实现目前移动端1px线变粗的方法,有以下几种:

2021-03-27 14:18:37 266

原创 Mac安装nvm报错curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused

前言:nvm是一个node版本管理器,对于前端这种缺乏统一规范的环境来说是十分必要的,遇到插件与node版本不兼容的情况时,往往需要切换node版本。安装 curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash 报错输入命令行后,报错curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection

2021-01-30 22:08:09 1346 2

原创 前端布局之——粘连布局+自适应布局

前段时间修复了一个bug,筛选试错了好多种方式,最终用到粘连布局解决了问题。查询资料时发现,网上关于几种布局的实现方式比较杂乱,故将前端常用的几种布局方式整理一下,以备后续参考使用。1. 粘连布局粘连布局是指,当页面的main元素内容较长时(超出屏幕高度),footer紧跟在内容后面;当页面的main元素内容较短时,footer能够粘连在屏幕底部。HTML部分:<div id="wrap"> <div class="main"> <div>mi

2020-12-23 16:49:32 269

原创 ng-repeat中使用jquery的datepicker不触发日期选择框

问题原因在angular项目中,有个场景需要使用ng-repeat重复生成多条日期选择框。但当使用id选择器来生成时,发现无法正确触发datepicker的日期选择框。经查询发现出现这个问题的原因在于,在点击添加多行之前,日期组件就已经初始化完成了,无法再操作新增的DOM。解决方法方法1:设置监听函数设置一个监听函数,在其内部初始化日期组件:js部分:// 初始化日历组件 initDatePicker(i) { ** $('body').on('focus',".myd

2020-12-16 17:55:03 278

原创 剑指offer之JAVA版---史上最全

1.单例模式Ⅰ 懒汉式-线程不安全以下实现中,私有静态变量 uniqueInstance 被延迟实例化,这样做的好处是,如果没有用到该类,那么就不会实例化 uniqueInstance,从而节约资源。这个实现在多线程环境下是不安全的,如果多个线程能够同时进入 if (uniqueInstance == null) ,并且此时 uniqueInstance 为 null,那么会有多个线程执行 uniqueInstance = new Singleton(); 语句,这将导致实例化多次 uniqueIns

2020-11-21 12:39:28 1449 1

原创 获取异步请求返回promise中的数据

为什么我们都知道,在项目中,由于JS 的单线程机制(可了解微任务、宏任务)异步请求的数据是无法立即使用的,ES6提供的promise机制可以很好的解决这个问题。那么如何使用promise来获取异步请求返回的数据呢,以下。1. 单个promise对象——.then获取function f(){ return new Promise((resolve, reject) => { //调用resolve函数返回数据data resolve(data); });}p = foo(

2020-11-19 19:33:56 9292

空空如也

空空如也

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

TA关注的人

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