huangpb的博客

好好学习,天天向上!

从 Node8 升级到 Node12 之采坑

之前版本是 Node8,感觉版本有点低,然后就升级到了最新版本 v12.4.0。升级完之后,之前安装的各种 npm 包报错。下面我们娓娓道来。 问题一:项目启动时 node-sass 报错 报错的内容是:以前装的 node-sass 跟现在的 node 环境不匹配,所以我们要重新安装一下,...

2019-06-25 23:41:38

阅读数 13

评论数 0

Mac 全局安装 webpack 报错权限不足解决方法

今天在 Mac 上全局安装 webpack、webpack-dev-server 时,虽然命令前都加了 sudo,安装时还是报了权限不足的错误: 解决方法如下: sudo npm install webpack -g --unsafe-perm=true --allow-root 或 s...

2019-06-24 23:51:31

阅读数 19

评论数 0

微信小程序转支付宝小程序之 wx2ali 踩坑

公司业务需要,要把本来的微信小程序移植到支付宝小程序,网上搜了一下,也没有很成熟的方案,用的最多的就是用wx2ali这个工具。这个工具也只能把微信小程序文件的后缀名替换成支付宝小程序文件的后缀名,还有把绝大部分原生API的名称替换了一下,有很多细节还是要自己去改的。下面我就来讲一下项目从0到上线亲...

2019-06-15 16:09:23

阅读数 11

评论数 0

前端大文件上传

最近遇见一个需要上传百兆大文件的需求,调研了七牛和腾讯云的切片分段上传功能,因此在此整理前端大文件上传相关功能的实现。 在某些业务中,大文件上传是一个比较重要的交互场景,如上传入库比较大的Excel表格数据、上传影音文件等。如果文件体积比较大,或者网络条件不好时,上传的时间会比较长(要传输更多的...

2019-06-05 23:38:01

阅读数 21

评论数 0

设计无限滚动下拉加载,实践高性能页面真谛

设计无限滚动下拉加载,实践高性能页面真谛 UX Planet论坛上有过这么一篇热门文章: Infinite Scrolling Best Practices,它从UX角度分析了无限滚动加载的设计实践。 无限滚动加载在互联网上到处都有应用: 豆瓣首页是一个,Facebook的Timeline是一...

2019-06-01 22:44:39

阅读数 32

评论数 0

仿“今日头条”效果的js无限滚动加载

效果 《今日头条》网页里页面向下滚动时,新闻会不断的追加。查看了dom 元素,他们是把新请求到的新闻不断地追加到 ul 里。 思路 1.判断网页是否滚动到了底部,并且当前没有请求在执行 2. 请求数据 3. 追加数据 细节 1. 可以规定距离页面底部多少距离算底部(这里用的是20),...

2019-06-01 22:36:59

阅读数 22

评论数 0

Selection对象

被选择文本示例代码 <p>发大幅<strong>大大泡泡糖</strong>度那附近那<strong>小头爸爸</strong>多好撒节点是的是&...

2019-05-26 22:56:13

阅读数 23

评论数 0

全局配置ESLint之React

一、前言 ESLint 是在 ECMAScript/JavaScript 代码中识别和报告模式匹配的工具,它的目标是保证代码的一致性和避免错误。在许多方面,它和 JSLint、JSHint 相似,除了少数的例外: ESLint 使用 Espree 解析 JavaScript。 ESLint ...

2019-05-23 22:37:57

阅读数 21

评论数 0

js 如何判断是 Android 设备还是苹果设备?

js 对客户端的操作系统进行判断主要用:navigator.userAgent、navigator.platform。 用 navigator.userAgent 判断 if(/android/i.test(navigator.userAgent)){ documen...

2019-05-23 15:08:45

阅读数 63

评论数 0

Node 全局变量 process 对象属性一览(Mac环境)

任意新建一个js文件,只需一行代码: console.dir(process); 保存该文件后用 node 执行,即可得到process变量的属性列表: 1 { 2 title: 'node', 3 version: 'v0.10.30', 4 mo...

2019-05-19 18:27:47

阅读数 14

评论数 0

shelljs 之 node 也能操作控制台命令

一、Shell && Shelljs Shell是linux下的脚本语言解析器,拥有丰富且强大的底层操作权限。Shelljs就是基于node的一层命令封装插件,让前端开发者可以不依赖linux也不依赖类似于cmder的转换工具,而是直接在我们最熟悉不过的jav...

2019-05-19 18:06:24

阅读数 52

评论数 0

前端路由原理解析和实现

在单页应用如此流行的今天,曾经令人惊叹的前端路由已经成为各大框架的基础标配,每个框架都提供了强大的路由功能,导致路由实现变的复杂。想要搞懂路由内部实现还是有些困难的,但是如果只想了解路由实现基本原理还是比较简单的。本文针对前端路由主流的实现方式 hash 和 history,提供了原生JS/Rea...

2019-05-16 23:16:02

阅读数 19

评论数 0

React16.x 源码分析

一、组件实现源码分析 1.https://github.com/amandakelake/blog/issues/27 二、setState源码分析 1.https://github.com/amandakelake/blog/issues/29 三、Fiber 架构 1.https:/...

2019-05-14 09:24:43

阅读数 67

评论数 0

页面可视化搭建工具技术要点

背景 页面可视化搭建工具, 是互联网公司中常见的运营工具, 实现了运营人员快速生成和发布页面, 提升页面上线效率; 且无需开发人员介入, 节省开发人力. 页面可视化搭建工具搭建出的页面示例: 但从零开始设计和开发出这种工具并不简单. 作者维护的页面可视化搭建框架 pipeline, 提供...

2019-05-07 23:00:17

阅读数 22

评论数 0

Webpack 插件总结归类

功能类 html-webpack-plugin * 自动生成html,基本用法: new HtmlWebpackPlugin({ filename: 'index.html', // 生成文件名 template: path.join(process.cwd(), './index...

2019-05-02 22:36:02

阅读数 37

评论数 0

Service Worker ——这应该是一个挺全面的整理

介绍 作为一个比较新的技术,大家可以把 Service Worker 理解为一个介于客户端和服务器之间的一个代理服务器。在 Service Worker 中我们可以做很多事情,比如拦截客户端的请求、向客户端发送消息、向服务器发起请求等等,其中最重要的作用之一就是离线资源缓存。 首先,作为一个新...

2019-04-24 17:46:32

阅读数 52

评论数 0

突破本地离线存储5M限制的JS库localforage简介

一、localForage——轻松实现 Web 离线存储   localStorage 能够让你实现基本的数据存储,但它是同步的,速度慢,而且仅支持字符串。IndexedDB 和 WebSQL 是异步的,速度快,支持大数据集,但他们的API 使用起来有点复杂。不仅如此,IndexedDB 和 W...

2019-04-23 22:53:33

阅读数 35

评论数 0

观察者模式与发布订阅模式

背景 设计模式并非是软件开发的专业术语,实际上,“模式”最早诞生于建筑学。 设计模式的定义是:在面向对象软件设计过程中针对特定问题的简洁而优雅的解决方案。通俗一点说,设计模式是在某种场合下对某个问题的一种解决方案。如果再通俗一点说,设计模式就是给面向对象软件开发中的一些好的设计取个名字。 这...

2019-04-22 22:28:54

阅读数 48

评论数 0

几种常见的网络协议

常见的网络协议有:TCP/IP协议、UDP协议、HTTP协议、FTP协议、Telnet协议、SMTP协议、NFS协议等。 TCP/IP 协议 传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协...

2019-04-17 23:02:10

阅读数 144

评论数 0

浅谈 CSS 中的 BFC

块格式化上下文(Block Formatting Context,BFC)是Web页面的可视化CSS渲染的一部分,是块盒子的布局过程发生的区域,也是浮动元素与其他元素交互的区域。 下列方式会创建块格式化上下文: 根元素或包含根元素的元素 浮动元素(元素的float不是none) 绝对定位元...

2019-04-16 23:47:00

阅读数 35

评论数 0

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