自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

scootdao的博客

前端一起学

  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 classnames用法/源码分析及工具

classnames的基础用法归集classnames这个插件在react项目业务中用的相对来说是比较多的,那这个插件是用来干什么的呢,它是用来合并类名的,存在多个类名变量时,想添加到对应的元素中,是可以采用类名,这种插件在react相关业务使用比较多,因为react代码的业务场景,非常适合变量和元素的绑定,而classnames很好迎合react的相关的业务场景。那我们先来看classnames相关用法吧基础用法classnames这个可以是两个参数以上,类型可以字符串或者对象,如果是字符串,

2022-03-13 13:32:14 7890

原创 taro源码分析(二)之启动流程2.0

@tarojs/webpack-runner功能回顾上篇,cli和service在taro build h5启动过程流程:run方法:init配置,init–presets,init-plugin,合并插件presets,resolvePlugins解析插件,获取平台配置参数,通过applyPlugins的build指令遍历hooks-promise进行异步解析参数,在循环外部调用对应的平台方法执行;执行对应平台方法,而上文执行的是h5,故找到对应的h5文件,看看接下来,调用哪些插件或者方法;上面的流

2022-01-26 15:40:21 1259

原创 前端项目中.env文件如何实现的

前端项目中.env文件,很常见,.env配置项目的环境变量,一般被放在项目的根目录里;在服务配置文件里的process.env对象中就可以获取配置的变量.env配置变量 //.env VUE_APP_DEV_VAR = 'development'此处vue项目为例 // vue.config.js const VAR = process.env.VUE_APP_VAR一般我们在vue项目中,无法找到跟.env相关的包文件的,其实我们在vue在项目中node_modules能找

2022-01-20 01:01:21 3119

原创 await-to-js的源码分析

第一步:clone源码分析源码目录结构 - examples | - examples-1.js - src |- await-to-js.ts - test |- await-to-js.ts - tools // 代码打包发布脚本 |- gh-pages-publish.ts |- semantic-release-prepare.ts - README.md - package.json - rollup.config.js // 代码打包文件 .

2022-01-10 23:12:14 887

原创 taro源码分析(一)之cli和service干了哪些事

分析taro启动流程@tarojs/cli:前述:taro build --type h5 通过本地node_modules/tarojs/cli/bin中执行taro.js文件 const CLI = require('../dist/cli').default new CLI().run()cli.ts和commands/build.tscli.tscli: 调用run方法,run通过调用parseArgs方法去找到build命令,通过找到build命令前,先通过new

2022-01-04 01:04:01 610

原创 typescript基础使用

基础类型number string array boolean object never null undefinedlet a:string = '1231'enum枚举类接口给前端返回一个status字段enum NamesStatus{ ABNHY='start' NOABNHY = 'noStart'}type interfacetype num = { a:number, b:string}interface Num{ .

2021-11-03 17:44:51 121

原创 模块化详解

模块化详解在讲模块化理解之前,首先得疏理一下,模块的化的发展流程真正的模块开启由于nodejs在2009年发布,带来commonjs,将模块化开发带来白热化时代,那么commonjs的特点是什么,接下来为您介绍:通过requirejs进行模块加载,采用同步加载commonjs它只服务于服务端模块加载器和模块解析器模块加载器:采用fs解析文件路径,将相对路径解析绝对文件路径,加载文件代码,并解析执行模块加载器:采用模块加载解析执行字符串代码,通过exports暴露模块; 模块可以多次加载,

2021-10-16 14:00:42 121

原创 promise源码解析之手写源码

promise源码解析之手写源码如何实现手写promise那我们必须要了解a+规范,在上一节,我们已经将a+规范简单的梳理了一遍,下面我们带着a+规范,将promise手写一遍逻辑*规范-:*需要定义三种状态—pedding/fulfiled/rejectconst PENDING = 'pending'const FULFILLED = 'fulfilled'const REJECTED = 'rejected'已经定义好了三种状态,接下来需要对状态进行初始化class Mod.

2021-10-12 22:10:09 208

原创 promisepromise源码解析之A+规范

promise源码解析(一)及A+规范实现promisePromise是实现异步比较有意思的类,在日常开发中,它也给我们带来不一样的体验,接下来让我们了解一下Promise对象及promiseA+规范吧promise概念then方法函数回调函数或者方法thenable 有着then函数的方法value是成功状态的值,通过resolvereason失败状态的rejectedexception抛异常状态机pedding初始态fulFilled成功后状态rejected失败后

2021-09-27 11:26:52 94

原创 基于javascript的数据结构实现(一)

数据结构数据结构是做为程序员必须的了解的必备基础知识,也是必备素养之一,接下来为大介绍比较常见几种的简单基础的数据结构;堆栈堆栈:这种数据结构,你必须要它的特点就是:后进先出,就好像吃进去的,吐出来一样,这样比喻不文雅,但很形象接下来,我用js为大家实现一下,利用数组实现,便于理解,时间复杂度为o(1), 空间复杂度为o(n);function Stack() { var items = []; // 进栈 this.push = function(value) { i

2020-06-30 19:42:14 192

原创 javascript闭包,高阶函数及防抖节流实现

闭包与高阶函数本文描述了作用域,闭包,内存管理的理解及高阶函数面向切面编程,节流防抖函数多种实现方案作用域理解作用域:var a = 2,引擎干了那些活遇见 var a,编译器会询问当前作用域是否存在该变量,存在,忽略;不存在,在当前作用域下,声明该变量,并命名为 a;运行处理 a=2 时,引擎会询问当前作用域集合是否存在 a 的变量;存在就使用该变量,不存在继续向外层作用域查找该变量;找到了,将 2 赋值给 a,没找到,则抛出异常;总结: 变量赋值会有两个动作,当前作用域声明该变量

2020-05-31 18:50:17 466

原创 javascript实现常用的设计模式

基于 javascript 的常用设计模式的实现设计模式是语言编程的一种技巧,提高的代码优雅性,可读性,也是为了提供代码性能。接下来为大家介绍几种常见的设计模式及几种非常相似的设计放在一起去对比。单例模式定义: 保证一个类仅有一个实例,并提供一个访问它的全局访问点。场景: 登录按钮点击出现登录浮窗,只会被创建一次代码示例: var Transparent = (function(){ var ins = null; var S = functio

2020-05-27 16:35:59 155

原创 this,apply和call

jsvascript 中的 this/apply/callthis定义:javascript 中 this 总是指向一个对象,指向哪个对象,则根据函数执行环境动态绑定,不是函数声明。this 的指向1.对象方法调用 var obj = { a:0, getA:function(){ console.log(this === obj); // true console.log(this.a) // 0

2020-05-19 13:58:48 104

原创 前端必须要了解linux系统文件权限知识

Bad for loop variable: sudo dpkg-reconfigure dash选择否,即可;原因:默认设置为dash,所以报错。sudo apt install net-tools:安装ip查看工具;zsh:命令别名;alias别名长期使用:存放在.bashrc内;命令重定向:bash重定向,输入到命名的文件里。:ifconfig eth0 > if...

2020-04-25 17:57:52 172

原创 mongodb必须了解的基础命令

nosqlmemcached缓存数据库与redies缓存数据库区别neo4j图形数据库./mongod --shutdown 关闭进程开启 mongo 数据库mongod --dbpath D:\study\github\nodeKnowledge\study\mongodb\db --port 27018;mongod 关闭.mongod --shutdown;m...

2020-04-22 16:25:52 207

原创 linux-ubuntu之mongodb(二):安装及配置

安装下载:wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz解压缩并移包:tar -zxvf mongodb-linux-x86_64-3.0.6.tgz,mv mongodb-linux-x86_64-3.0.6 /xxx/mongodb/;mongod定位移动自定义的目录,后使用命令mkdir -p ...

2020-04-07 21:44:19 130

原创 linux-ubuntu下安装python3/nginx和reids

安装方式自定义:先下载:wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz解压tar包:tar -xvf 包名;tar -xvf Python-3.7.7.tgz;总结:其实上面两步,你可以进行界面化操作的;移包:mv Python-3.7.7 /ldy/python3编译:./configure;编译有报...

2020-04-04 19:47:47 324 1

原创 正则简单的应用

正则表达式正则表达式,是我们日常开发中经常会运用到的。当然对于一些复杂的正则表达式,当然可以通过网络去搜索可以节约时间;对于运用到的一些简单的,自己动手去写可以节约一些时间,也是自己技术能力体现...

2019-11-09 17:37:41 135

原创 函数的参数获取-arguments的魅力

argumentsarguments,这个鬼东西还是很重要的,一般他是用在函数里,他函数里无论是实参还是形参,都能在它里面包含。据MDN:arguments 是一个类数组对象。代表传给一个function的参数列表我们先看看arguments的形式吧,代码如下: curryStore(); function curryStore(a, c) { c...

2019-08-11 21:22:32 1364

原创 数组操作常用的方法

常用数组操作函数方法在讲数组操作方法前,先来说说数组的一些概念吧,如何申请成为数组,数组如何去定义的。定义:具有连续内存,存在一定空间大小类对象(区别于链表而下的定义)。在js中创建数组的的两种方式:var a = [];var b = new Array();总:上面的两种代码采用都通过声明变量的方式,第二种使用了类对象构造函数创建的。接下来讲讲操作数组的方法;添加一个或多...

2019-05-16 17:05:48 926

原创 移动端和PC端页面的判断

在我们开发过程中,经常会遇到移动端和pc端共用一个页面,故我在这里会写一个移动端和pc端的判断,让其走不同的链接;第一种网络资源:window.onload = function(){ //移动端走移动路径,pc走pc路径; var app = navigator.platform; var system ={ win : false, mac : false,

2017-11-24 18:01:56 4210

原创 a标签有关用法以及锚点定位;

一.页面内的锚点定位;锚点定位中,就算采用overflow:hidden将滚动条隐藏,但是它依然可以发生锚点定位,实现定点跳转;1.单向定位: 锚定定位实在页面必须要发生滚动的情况下,不滚动也能发生,效果不明显;他的语法见下面代码:<a href="#2">锚点2</a>....文本省略<h2><a name="2" id="2...

2017-11-12 15:22:21 22918

原创 盒子居中的几种方式

第一种:普通流盒子居中;    通过设置上边框为透明色,进行高度及计算,后居中;*{ margin: 0; padding: 0; } .big{ width: 400px; height: 400px;

2017-10-21 22:22:50 3612

原创 html-css布局之弹性盒子布局

学习资料:菜鸟教程;简单介绍一下弹性盒子布局:父级盒子可以有多个子盒子,弹性盒子只定义了子元素如何布局,不影响盒子内外的渲染;在父级定义该父级为弹性盒子,父级内的子级盒子全在一行显示,影响只是布局,见代码: *{ margin: 0; padding: 0; } .big{ display: flex; } .big>di

2017-10-21 19:57:46 9652 1

webpack4.0+react16+redux-actions

webpack4.0打包及其相关插件,redux状态管理工具及中间件redux-actions中间件的相关用法,如果出现了包解压报错,请私信我

2019-01-02

eth与btc创建恢复账号及转账(源码/前端)

仅是客户端(前端)代码的相关需求,暂无服务端代码。

2018-10-12

webpack3.0加速编译+每次编译2之内

该webpack运用了postcss,scss,less预处理器配置,CommonsChunkPlugin插件提取公共代码,采用happy多进程加速代码的构建。

2018-03-27

空空如也

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

TA关注的人

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