自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(109)
  • 资源 (2)
  • 收藏
  • 关注

原创 手写小程序摇树优化工具(九)——删除业务组代码

第三章我们遍历json的时候有介绍过通过groupName和replaceComponents来取代对应的业务组件来解决大公司复杂逻辑共用导致的超包问题。这很好,现在我要实现一个更加高级的功能,来达到精细化的控制业务代码的程度。这主要是为了解决超级复杂项目的问题,一般的小项目用不到。

2022-11-22 16:12:40 364 1

原创 手写小程序摇树优化工具(八)——移动独立npm包

本教程手把手教大家如何编写一个完整的微信小程序摇树优化工具。

2022-11-13 20:31:25 574

原创 手写小程序摇树优化工具(七)——生成依赖图

本教程手把手教大家如何编写一个完整的微信小程序摇树优化工具。

2022-11-13 20:30:37 409 1

原创 手写小程序摇树优化工具(六)——主包和子包依赖收集

本教程手把手教大家如何编写一个完整的微信小程序摇树优化工具。

2022-11-13 20:29:43 439

原创 手写小程序摇树优化工具(五)——从单一文件开始深度依赖收集

本教程手把手教大家如何编写一个完整的微信小程序摇树优化工具。

2022-11-13 20:29:00 241

原创 手写小程序摇树优化工具(四)——遍历wxml、wxss、wxs文件

本教程手把手教大家如何编写一个完整的微信小程序摇树优化工具。

2022-11-13 20:28:15 417

原创 手写小程序摇树优化工具(三)——遍历json文件

本教程手把手教大家如何编写一个完整的微信小程序摇树优化工具。

2022-11-13 20:26:43 607 1

原创 手写小程序摇树优化工具(二)——遍历js文件

本教程手把手教大家如何编写一个完整的微信小程序摇树优化工具。

2022-11-13 20:25:54 608

原创 手写小程序摇树优化工具(一)——依赖分析介绍

本教程手把手教大家如何编写一个完整的微信小程序摇树优化工具。

2022-11-13 20:24:05 1097

原创 微信小程序源码压缩探索

微信小程序主包具有2M的最大限制,因此压缩程序源码成为一个优化的可能。下面是一些探索的结论以及为解决问题而做的一些方案。1. 一个结论先说一个结论:压缩JS文件和WXSS文件对于缩小主包体积是没有作用的,js和wxss文件的确是源码中最大的两个部分,但是小程序开发工具在打包上传的时候可以设置自动压缩这两部分,因此我们不必做多余的动作(实验发现做了也是无用的)。2. 压缩WXMLWXML的压缩和单纯的HTML压缩有两个主要的不同点:WXML里面可能存在WXS脚本,而WXS的处理不同于WXML的处

2021-08-03 17:29:44 2444

原创 Expected linebreaks to be ‘LF‘ but found ‘CRLF‘

window的IDE上经常会有换行符的错误,更换了IDE的换行符以后也不管用,这是因为在window上git拉取代码的时候默认把文件的换行符都转化为了CRLF,所以要解决这个问题需要做两步:禁用git的默认转化功能。设置IDE的默认换行符。1. 禁用git的默认转化功能在命令行工具执行以下命令// 禁用转化git config --global core.autocrlf falsegit config --global core.filemode false// 拒绝提交包含混合换行符

2021-02-02 11:11:06 2642

原创 vue组件transition没有把动画类应用到dom问题

遇到一个vue内建组件transition 没有把相应的动画类添加到根节点上的问题,经折腾发现组件transition生效有两个必要条件

2021-02-01 15:53:42 628

原创 你不知道的css3伪类的匹配方式

css3的伪类(如:`frist-child`, `first-type-of`)有一些特别容易让人忽视但又特别重要的特性,我认为只有理解了这些东西才能真正的理解伪类。

2021-01-11 17:37:41 240 2

原创 git常用命令

1、fix npm vulnerabilities检测漏洞npm audit修复漏洞npm audit fix修复tar包漏洞npm install -D node-gypnpm install -D tar@">4.4.7"

2020-04-13 19:45:41 181

翻译 探索Angular DOM操作技术

每当我读到关于Angular DOM操作的的文章时总是看到这些类被提到:`ElementRef`, `TemplateRef`,` ViewContainerRef`等等。不幸的是,尽管其中一些内容已在Angular文档或相关文章中介绍,但我还没找到对它们整体模型的介绍以及它们如何协同工作的示例,本文旨在描述这种模型。

2019-12-03 17:09:51 487

翻译 您需要了解有关"ExpressionChangedAfterItHasBeenCheckedError"错误的所有信息

最近在stackoverflow上几乎每天都有关于`ExpressionChangedAfterItHasBeenCheckedError`的提问,通常提出这些问题是因为Angular开发人员不了解更改检测的工作原理,以及为什么检查产生这个错误是必须的。许多开发人员甚至将其视为错误。但这当然不是。这是一种警告机制,可防止模型数据与UI之间出现不一致,以免在页面上向用户显示错误或旧数据。

2019-12-02 17:18:09 791

翻译 你需要了解的有关Angular中变更检测的所有信息

如果你像我一样想要全面了解Angular中的的变更检测机制,则必须探索资源,因为网络上没有太多可用的信息。大多数文章提到每个组件都有其自己的变更检测器,该检查器负责检查该组件,但是它们并没有深入下去,并且大多数主要聚焦于引用不可变性和变更检测策略。本文为您提供所需的信息来了解为什么用例immutables起作用和改变检测策略会如何影响检查。另外,从本文中学到的内容将使您能够自己提出各种方案来进行性能优化。

2019-11-30 17:03:43 459

翻译 深入了解Angular中的变更检测如何帮助我提高应用程序的性能

使用Angular框架开发Web应用程序时,我们很少考虑性能影响。Angular旨在快速发展,总的来说使我们摆脱了性能调试的麻烦,因此我们最终失去了对“性能优先”开发实践的控制。随着我们的应用程序的增长以及我们添加业务逻辑的各层,我们可能会面临性能指标的下降,最终会导致整体用户体验的下降。我将主要关注运行时性能以及在生产Web应用程序中进行改进的尝试。1. 一个非常繁忙的app让我解释一下我遇...

2019-11-25 23:57:40 560

翻译 OnPush组件中NgDoCheck和AsyncPipe之间的区别

这篇文章由推特上的一个人提出的问题而引出:使用`NgDoCheck`生命周期钩子手动比较值来代替推荐的`async`管道方式是否具有意义?这是一个很好的问题。这篇文章将首先展示如何进行手动变更检测,一旦我们拥有了这些知识,然后我们将讨论这两种解决方案的性能影响。

2019-11-25 00:13:16 298

原创 终端常用操作命令集

1、npm命令集// 查看帮助npm -l// 查看全局安装包npm list -g --depth 0// 了解哪些包需要更新npm outdated -g --depth=0// 全局安装npm install -g <package>// 全局卸载npm uninstall -g <package>// 更新全部npm update -g//...

2019-10-13 18:58:50 708

转载 Safari输入框input使用line-height文字不居中问题

测试中出现的问题,Safari输入input文本框有设置padding时,css样式设置 line-heigh t与 height等高,并不能使提示文本垂直居中,如下:padding: 4px 5px;height: 32px;line-height: 32px;解决方案一:使用padding使提示文字居中,如果font-size:14px,UI高度为40px,我们可以设height:...

2019-10-11 17:42:35 1046

原创 火狐浏览器flex布局height: 100%和overflow问题解决方案

事情描述:希望有一个页面布局,头部高度不动,内容区域可以随着外围区域变化自动填充剩余的空间,在内容区域内有一个滚动的div可以自适应内容区域的高度。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title&g...

2019-10-11 16:01:26 1990

原创 异步函数Async(es2017)

ECMAScript 2017 定义了以下几个特性:主要新功能:异步函数Async共享内存和原子次要新功能Object.entries()和Object.values()新的字符串方法:padStart和padEndObject.getOwnPropertyDescriptors()函数参数列表和调用中的尾随逗号本届主要介绍异步函数1.简介1.1 变体异步函...

2019-07-20 15:47:26 775

原创 ECMAScript 2016

ECMAScript 2016引进了两个新的特性- Array.prototype.includes- 幂运算符(**)

2019-07-05 10:32:28 363

原创 CSS Flexible Box Layout

本篇文章翻译自w3c权威技术报告,内容详尽,包括了网络上很多没有的细节问题,适合css高级进阶。

2019-06-29 19:37:07 485

原创 Jasmine教程(二)Namespaces

jasmine定义了4个名字空间,每个名字空间下定义了不同的方法或者变量。使用相应名字空间下的方法可以配置jasmine或者断言测试。jasminematchersasync-matchersSpy#calls1、Namespace: jasmine这里只列举来一些常用的方法或变量,详情请参看:Namespace: jasmineaddCustomEqualityTester(...

2019-05-23 11:22:58 566

原创 Jasmine教程(一)安装和使用

本文当根据最新版本V2.9编写。

2019-05-23 11:22:03 20144

原创 最新Karma4.0安装和使用

Karma本质上是一个Web服务器的工具,该服务器针对连接的每个浏览器执行测试源代码,检查每个浏览器的测试结果然后通过命令行显示给开发人员,以便他们可以看到哪些浏览器通过了测试或者没有通过测试。

2019-05-21 15:44:19 757

原创 TypeScript学习系列(五)泛型

声明:本学习系列参考了TypeScript3.3英文版官网教程

2019-03-17 17:34:36 195

原创 TypeScript学习系列(四)函数

声明:本学习系列参考了TypeScript3.3英文版官网教程

2019-03-17 15:51:01 174

原创 TypeScript学习系列(三)类(Class)

声明:本学习系列参考了TypeScript3.3英文版官网教程

2019-03-17 11:20:00 1878 1

原创 TypeScript学习系列(二)接口

声明:本学习系列参考了TypeScript3.3英文版官网教程

2019-03-17 00:59:42 183

原创 TypeScript学习系列(一)基本类型

声明:本学习系列参考了TypeScript3.3英文版官网教程。

2019-03-16 18:39:54 275

原创 一些常见的原生js兼容写法

一些常见的原生js兼容写法,持续更新中。。。

2019-03-14 11:46:05 327

原创 完全解决方案Content-Type设为application/x-www-form-urlencoded服务器端拿不到数据问题

问题描述在自定义Ajax请求时,想使用表单的方式发送post请求,发现后台获取不到数据,查看jquery源码发现,这是因为当Content-Type设为application/x-ww...

2019-03-14 11:18:15 10570

原创 最新brew安装nvm报nvm command not found解决方案

试了很多方法都不行,最后在stackoverflow上找到了解决方案,完美解决了这个问题,这是因为在brew安装nvm时没有创建他的工作目录。你应该创建nvm的工作目录如果它不存在的话:mkdir ~/.nvm然后在~/.bash_profile中加入并保存。(如果此文件不存在你应该创建一个)export NVM_DIR="$HOME/.nvm" . "/usr/local...

2019-02-26 23:22:35 4651 3

原创 在angularJS1.x中使用@NgModule装饰器

ng1-module-decorator我们都知道Angular2结合TypeScript使用@NgModule装饰器装饰模块是非常方便的,而在angular1.x中我们只能使用angular.module().xxxx来进行模块的组合,如果一个模块的功能非常多,这样写会是非常令人苦恼且不易维护的。幸而在ES6诞生之后,语言本身提供了装饰器的功能,虽然没有typescript那么强大,却也能满...

2019-02-08 13:05:42 430

原创 Excel转百度坐标系(AngularJS)

最近由于公司要在百度地图和Echarts上展示几千个地理位置,但是老大给我的却是一份几千条中文地址的excel表格,刚开始的时候打算新建一个数组进行遍历,在输入了10几个数据之后我放弃了,估计光输入就要花一两天,更不要说还要经常统计哪个省份或者城市的数据,这是非常耗时且不易维护的一种解决方案。后来又打算做一个数据库服务器,但是又被我否决了,花的时间估计不比新建数组少。所以决定自己做一个自动转化ex...

2019-02-08 12:56:02 438

原创 微信公众号开发(十二)OAuth2.0网页授权

OAuth允许用户提供一个令牌,而不是用户名和密码来访问它们存放在特定服务器上的数据,每一个令牌授权一个特定的网站在特定时段内访问特定的资源。授权过程如下:1、引导用户进入授权页面同意授权,获取code2、通过code换取网页授权access_token(与基础支持中的access_token不同)3、如果需要,开发者可以刷新网页授权access_token,避免过期...

2017-09-17 09:38:16 12324 5

原创 微信公众号开发(十一)生成带参数二维码

公众平台提供了生成带参数二维码的接口。使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送。目前有2种类型的二维码:1、临时二维码,是有过期时间的,最长可以设置为在二维码生成后的30天(即2592000秒)后过期,但能够生成较多数量。临时二维码主要用于帐号绑定等不要求二维码永久保存的业务场景2、永久二维码,是无过期时间的,但数量较少(目前为最多10万个)...

2017-09-16 14:23:07 51948 6

io.ionic.devapp_10004_apps.evozi.com.apk

最新版的ionic devApp,可以动态链接手机进行ionic app调试

2019-05-20

multer1.3.0上传文件

node.js使用最新版multer1.3.0上传文件的代码样例

2017-05-25

空空如也

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

TA关注的人

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