- 博客(65)
- 收藏
- 关注
原创 云服务器Docker内部署服务后,端口无法访问?
当你检测你的操作都没问题,还不行的话, 只能是服务器的问题,既然是服务器的问题,那就得找客服。
2024-08-14 14:43:57 558 1
原创 Tree Shaking技术解析
因此,在使用Tree Shaking时,开发者需要注意编写可静态分析的代码,以确保最终生成的文件能够得到有效优化。通过对模块依赖关系的分析,工具可以确定哪些代码是被实际使用的,哪些是未使用的。Tree Shaking的基础,我个人理解Tree Shaking的技术基础就是esm,正是esm的特性(具体如下),所以在打包过程中,可以做到区分代码是否用到。这个图记录了每个模块之间的依赖关系。Tree Shaking技术其实就是代码按需打包技术,就是在打包过程中,只打包实际使用的代码,从而减少打包的体积。
2024-05-09 10:43:56 266
原创 (0, function)(param)结构
在读一些源码的时候,发现许多函数在调用时,都采用了的形式调用,这种结构的作用和原理是什么?下面我们就说一下(0, function)(param)结构。
2024-03-08 14:37:43 176
原创 fuc-js判断合集
const toString = Object.prototype.toString;export function is(val: unknown, type: string) { return toString.call(val) === `[object ${type}]`;}export function isDef<T = unknown>(val?: T): val is T { return typeof val !== 'undefined';}expor
2022-04-06 09:51:22 366
原创 高阶函数,闭包的应用:函数柯里化(function currying)
函数柯里化(function currying)currying 又称部分求值。一个 currying 的函数首先会接受一些参数,接受了这些参数之后, 该函数并不会立即求值,而是继续返回另外一个函数,刚才传入的参数在函数形成的闭包中被保存起来。待到函数被真正需要求值的时候,之前传入的所有参数都会被一次性用于求值。实例假设我们要编写一个计算每月开销的函数。每天结束后我们都会记录并计算到今天为止花掉的钱。但我们其实并不太关心每天花掉了多少钱,而只想知道到月底的时候会花掉多少钱。也就是说,实际上只需要在月底
2022-03-31 09:43:59 276
原创 AOP(面向方面编程)以及Function.prototype扩展
oop(面向对象编程),aop(面向方面编程)。oop就是把多个对象的相同功能单独分离出去,封装成组件或者函数。oop举例:前端的组件和函数;axios封装,权限认证、日志、事务处理等。oop主要分两类:1,一是采用动态代理技术,利用截取消息的方式,对该消息进行装饰,以取代原有对象行为的执行;(前端我想到了装饰器(Decorator))2,是采用静态织入的方式,引入特定的语法创建“方面”,从而使得编译器可以在编译期间织入有关“方面”的代码在 JavaScript 中实现 AOP,一般都是指把一
2022-03-30 10:32:13 634
原创 js事件循环机制
事件循环机制大纲先说基本知识点,宏任务、微任务有哪些说事件循环机制过程,边说边画图出来说async/await执行顺序注意,可以把 chrome 的优化,做法其实是违法了规范的,V8 团队的PR这些自信点说出来,显得你很好学,理解得很详细,很透彻。把node的事件循环也说一下,重复1、2、3点,node中的第3点要说的是node11前后的事件循环变动点。下面就跟着这个大纲走,每个点来说一下吧~浏览器中的事件循环JavaScript代码的执行过程中,除了依靠函数调用栈来搞定函数的执行顺序外
2021-05-11 15:58:25 131
原创 脚本-自动从git上面拉取文件自动打包到服务器上
echo "开始拉取项目:知识库框架"git pull origin devnpm run buildAllecho "项目拉取成功"#判断pm2进程是否存在,存在重启,不存在新建if pm2 ls | grep repository; then pm2 restart repository echo "重新启动项目!"else pm2 start npm --name repository -- run node:prod echo "创建新的项目"fi.
2021-04-28 14:26:32 485
原创 vscode 设置
版本一:{ "editor.rulers": [ 100 ], //代码缩进线 "editor.tabSize": 2, "eslint.alwaysShowStatus": true, "eslint.autoFixOnSave": true, "eslint.packageManager": "yarn", "eslint.validate": [ "javascript", // 用eslint的规则检测j.
2021-04-22 18:23:46 304
转载 nodejs连接mysql——createPool&createConnection区别
createConnection 建立连接&关闭连接语法(1)createConnection方法创建连接对象(正式的说法:使用createConnection方法创建一个表示与mysql数据库服务器之间连接的connection对象)var connection = mysql.createConnection(options);(2)用对象的connect方法建立连接。connection.connect(function(err) { *** });(3)关..
2021-02-02 10:06:40 2468 4
转载 vue插件开发&npm发布
1. 初始化项目vue init webpack-simple projectName运行项目:cd projectNamenpm installnpm run dev2. 写插件在 src 文件夹下面建 lib 文件夹,用于存放插件。lib 文件夹下再建 toast.js 和 toast.vue 两个文件。整个项目目录如下所示:toast.vue 的内容如下:<template> <div class="vue-toast-wraper"
2021-01-08 11:24:17 214
原创 autocomplete=“off“‘不起作用解决方案
为了防止浏览器为用户自动填充账号密码,input标签 html5新增属性autocomplete,但这一属性经常出现不起作用的事情,为了解决这一问题,我找到一些解决方法;去掉了一些比较复杂的方法。下面是两个简单容易实现的方法:方法一:在input框中设置 autocomplete= "new-password";autocomplete官方只有"on","off"俩个值,但是"new-password"亲测可用。网上没有找到对其详细解释,但是发现163邮箱的登录注册是这么用的。这种方法是最简单的。.
2021-01-05 11:05:36 3728 3
原创 mddir——自动生成文件目录结构
自动化生成项目目录结构,文件类型为.mdnpm install mddir -g打开项目所在的文件夹,cmd到控制台,mddir即可生成
2020-12-15 16:19:49 562 1
原创 Fuc-String-escapeRegExp 将字符串中的特殊字符进行转义
escapeRegExp(str){returnstr.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&");},
2020-09-30 10:19:19 305
原创 Fuc-String-querysour 搜索结果高亮显示
//搜索结果高亮显示querysour(str,searchStr){letsrtEndIndex=str.indexOf(searchStr)+searchStr.length;letsrtStartIndex=str.indexOf(searchStr);letnewStr=str.substring(0,srtEndIndex)+"</text>"+str.substring...
2020-09-27 17:34:45 133
原创 http请求 超时相关
例如:高级分析客户端设置100s超时,而高级分析服务器端设了8秒超时。这个100秒不仅不起作用,而且会让大量的连接处于time_wait状态。原因:根据TCP协议,主动发起关闭的一方,会进入TIME_WAIT状态(所以服务器端大量进入了time_wait状态),持续2*MSL(MaxSegmentLifetime),缺省为240秒。结论:前后台设置请求超时最好保存一致(结论未验证,此结论未必是对的)...
2020-07-31 12:37:51 466
原创 js常用的正则校验
在表单验证中,使用正则表达式来验证正确与否是一个很频繁的操作,本文收集整理了常用的javaScript正则表达式,其中包括用户名、密码强度、整数、数字、电子邮件地址(Email)、手机号码、身份证号、URL地址、 IPv4地址、 十六进制颜色、 日期、 QQ号码、 微信号、车牌号、中文正则,详细中文名字校验(可以是少数民族.或-)1 用户名正则//用户名正则,4到16位(字母,数字,下划线,减号)var uPattern = /^[a-zA-Z0-9_-]{4,16}$/;//输出 true
2020-07-27 15:33:49 8847
原创 常用的密码校验
情景一:要求:密码长度最少8位 大写字母,小写字母,数字,特殊符号必须四选三首先给出全部四种的匹配表达式:[a-zA-Z0-9\W_]{8,}其中\W 匹配任意不是字母,数字,下划线,汉字的字符。然后使用排除法,排除其中只选一种或只选两种的情况,剩下的就是选了三种的情况了。有:大写+小写,大写+数字,大写+特殊符号,小写+数字,小写+特殊符号,数字+特殊符号。共这6种组合。最后使用环视-正向否定匹配 (?!...)组合起来,就得到最终需要的表达式:^(?![a-zA-Z]+$)(.
2020-07-27 15:26:35 6640
原创 Fuc-String-replaceAll 字符串全部替换
String 又原生的replace方法,但是没有replaceAll。String.prototype.replaceAll = function (s1, s2) { return this.replace(new RegExp(s1, "gm"), s2);}String.prototype.replaceAll = function(search, replacement) { var target = this; return target.replace(ne
2020-06-18 17:04:51 333
原创 Fuc-String-endsWith() 字符串是否是以XXX结尾
String.prototype.endsWith = function (endStr) { // var d = this.length - endStr.length; // return (d >= 0 && this.lastIndexOf(endStr) == d) var reg = new RegExp(endStr + "$"); return reg.test(this);}
2020-06-18 17:01:08 214
原创 Fuc-Date-format() 日期格式化方法
入参类型:Date()类型,默认值:yyyy-MM-ddhh:mm:ssDate.prototype.format = function(fmt="yyyy-MM-dd hh:mm:ss"){ var o = { "M+" : this.getMonth()+1, //月份 "d+" : this.getDate(), //日 "h+" : this.getHours(), ..
2020-06-18 16:48:25 228
转载 react+umi+antd----umi项目的上手教程(转载)
umi+dva项目快速上手指南react+umi+dva+antd umi项目的上手教程。转载而来,仅用于给人学习。构建项目node环境node版本 >= 8.0.0全局安装uminpm install -g umi建议使用yarn安装// 全局安装yarnnpm install -g yarn// 使用yarn安装umiyarn global add umi构建umi项目mkdir myapp && cd myapp..
2020-06-02 15:59:44 6676
原创 react+antd+umi 项目搭建------connect的使用方法
connect 就是 react-redux 的 connect;它是一个函数,绑定 State 到 View。connect 方法返回的也是一个 React 组件,通常称为容器组件。因为它是原始 UI 组件的容器,即在外面包了一层 State。简单来说connect是用来连接前端的ui界面和和前端model的一个嫁接桥梁 ,通过使用connect将model里面定义的state,和dispatch,和histoey方法等传递到前端供前端使用connect常用的写法:方式一:mapStateTo
2020-06-02 15:39:38 7330 1
原创 vue使用事件绑定携带参数会覆盖函数默认参数怎么办?
第一种,$event;该方法只能解决一个默认参数的情况<a-pagination class="optionsPagination" simple@change="optionsPaginationChange($event,index)" :total="knowledgeItem.knowledgeEntries.total" />该方法应该不是一个好方法,只是自己摸索出来的,$event的主要功能应该不在这儿。第二种方法:<button @click="((el
2020-05-12 14:18:21 1495
转载 react和vue父子组件生命周期的执行顺序
react:父组件将要挂载(componentWillMount) 子组件将要挂载(componentWillMount) 子组件挂载完毕(componentDidMount) 父组件挂载完毕(componentDidMount)import React, { Component } from "react";clas...
2020-04-23 10:25:37 496
原创 全局禁用backspace事件
<script type="text/javascript"> //处理键盘事件 禁止后退键(Backspace)密码或单行、多行文本框除外 function banBackSpace(e) { var ev = e || window.event;//获取event对象 var obj = ev.target || ev.srcElement;//获取...
2020-04-17 14:44:06 388
原创 css-艺术字
var c = document.getElementById("canvas"); var cxt = c.getContext("2d"); cxt.font = "26px Verdana"; let data = "场景配置可视化" let gradient; for (let i = 0; i < data.length; i++) {...
2020-03-12 14:19:58 1050
原创 生产环境清空log日志
if (process.env.NODE_ENV == 'production') { var logDebug = false; console.log = (function (oriLogFunc) { return function () { if (logDebug) { oriLogFunc.apply(this, arguments);...
2020-03-09 11:10:05 456
原创 url怎么转递对象参数
正常情况下,url只能传递字符串,没法传递对象,但实际上我们经常会遇到url需要携带对象的情况。最近发现一个非常方便的解决办法,发出来供大家参考。 let objDemo = { name: "zdd", age: 12, content: "abc" }; let jsonObj = JSON.stringify(objDemo); ...
2020-02-25 10:59:23 2793
原创 梦里的姑娘
望着轻舞的长发嗅着迷人的芬芳迎着春风走在路上······越来越清晰的背影越来越......啊······触之即殇! 作于2017-08-02...
2019-12-31 13:54:43 108
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人