自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 3分钟快速搭建一个ES6开发环境

Webpack是一个模块打包工具,它可以将我们的JavaScript文件打包成一个或多个bundle文件,使我们能够使用import语法来引入依赖。通过这个环境,你可以使用ES6的语法来开发前端项目,并通过npm来管理你的依赖。有时候我们想在前端开发中使用ES6语法,但不想依赖于Vue、React等框架,这时我们可以使用Webpack来搭建一个简单的开发环境。现在,你可以在HTML文件中引入这个bundle文件来运行你的代码了。文件,这将作为你的项目的入口文件。文件,用来管理你的项目依赖。

2024-04-11 12:45:00 363

原创 如何使用dotenv模块来加载环境变量

如何使用dotenv模块来加载.env文件中的环境变量

2023-03-16 08:39:09 585

原创 聊聊一些概念:函数调用栈,栈内存和堆内存

JavaScript引擎线程在工作时,会有多个栈,它们分别用于不同的用途。其中一个重要的栈是函数调用栈,用于追踪程序执行的当前位置和上下文。除了函数调用栈之外,还有一个事件循环栈和一个消息队列,用于异步编程。另外,也可能有一些内部栈,用于特定的 JavaScript 引擎实现细节。

2023-02-27 19:15:00 273

原创 如何用写sass的方式来写html?为此我写了个工具

用写sass的语法格式,来写html模板

2022-12-20 21:47:59 199

原创 如何把一段规范的样式文本,转为真实dom?

我们的目标是写一个方法,把一段有固定格式的样式文本,转换成一个真实的dom。

2022-11-23 18:32:21 452

原创 eggjs中,如何把全局变量注入到模板里渲染

eggjs,通过中间件和ctx.locals,实现对页面的全局变量输出

2022-08-31 14:14:35 707

原创 快速搭建koa2开发环境:koa-generator + sass

如果你想快速开始一个项目,请使用脚手架。另外,习惯了使用css的预编译程序,这里加入sass作为项目起步。

2022-08-24 16:23:28 602

原创 svelte快速搭建+配置sass+引入Bulma作为样式库

svelte配置SASS,BULMA快速开始项目

2022-08-12 11:16:11 824

原创 sequelize如何建立关联关系表模型来实现联表查询?【多对多篇】

如何用sequelize提供的方法,实现多对多联表查询?

2022-02-25 09:19:32 5976 1

原创 图解RSA非对称加密解密的流程

RSA 简介RSA 是一种非对称加密算法,简单概括,就是加密和解密时使用不同的密钥进行。AES对称加密的弊端在对称加密算法中,加密与解密的密钥是相同的。密钥为接收方与发送方协商产生,但不可以直接在网络上传输,否则会导致密钥泄漏,通常是通过非对称加密算法加密密钥,然后再通过网络传输给对方,或者直接面对面商量密钥。密钥一旦泄露,就会面临被攻击者还原密文,窃取机密数据的风险。安全性对比综上所说,非对称加密的安全性会比对称加密高很多,对安全性较高的项目建议采用非对称加密。整体方案后台动态

2022-02-12 15:08:48 5129

原创 一图带你简单理解JWT登录验证

JWT 简介JWT (JSON Web Token) 是一套特别流行于分布式系统采用的授权标准 ,在采用加密等手段保证安全高效的同时,其基于JSON做为权限认证令牌的特性可以使其携带诸多非敏感数据,其所携带的数据可以确保授权的灵活高效。JWT组成一个JWT实际上就是一个字符串,它由三部分组成,头部、载荷与签名。JSON Web Tokens是如何工作的下面画了一张图,可以简单理解jwt在登录验证中做了些什么。JWT简单理解简单来说,JWT就是一套生产令牌和验证令牌的策略,它经过可靠的加密方式

2022-01-29 14:50:11 2779

原创 JavaScript可视化运行工具推荐

1.ES5可视化地址:http://latentflip.com/loupe/这个是Philip Roberts在JS大会上讲Event Loop时做演示的网站(大佬自己开发的,React还是0.12版本)。2.事件循环、执行栈和任务队列可视化地址:https://www.jsv9000.app/这个宏任务、微任务,自带例子,也可以自己编辑,不过超过5s的例子就不行3.JavaScript Visualizer地址:https://tylermcginnis.com/javascript-vi

2021-12-08 15:54:21 1892

原创 windows常用的Vscode快捷键,改善开发体验

一.视野篇做开发的,编辑器视野对我们的开发体验来说至关重要。好的编辑器视野能让我们代码写起来更舒服,多余的分块区域容易分散我们的注意力,以及减少我们写代码的区域。全屏模式快捷键:F11这样可以把顶部的菜单隐藏了,一般来说进入项目后顶部工具栏作用不大,可以隐藏掉增加开发视野打开和关闭资源管理器Ctrl +BB可以理解为sidebar的bar,有时候改来改去就那么几个文件了,可以把资源管理器收起来,增加开发视野代码折叠折叠:Ctrl + Shift + [展开:Ctrl + Shift +

2021-11-17 15:54:03 547

原创 手敲webpack的简易实现后,谈谈思路和解决问题的方法

  好久没写作了,代码敲多了,偶尔也要敲点文字,锻炼一下语言表达能力和文字组织能力。  昨天手敲了一个简易版的webpack,代码逻辑不说了,网上一搜一大把,几乎都长一个样,毕竟都是从webpack源码里去分析然后破解抽离出最核心的东西,因此实现起来都一个样的。  这里展开另一个话题:解决问题的思路。  我们想要模仿webpack实现它的自动化构建功能,第一步要搞清楚的是:你的目标是什么。  这是不是很像成功学里老生常谈的话题?没错,目标很重要,没有目标的人生就像浮萍一样随波逐流,漫无目的。你不清楚

2021-11-04 11:27:52 137

原创 vue后台多级菜单权限控制方案(动态路由)附demo

待写

2021-07-31 15:35:39 4166 2

原创 vue项目中全局使用EventBus的方法,以及利弊分析

EventBus是什么EventBus 又称为事件总线。在Vue中可以使用 EventBus 来作为沟通桥梁的概念,就像是所有组件共用相同的事件中心,可以向该中心注册发送事件或接收事件。EventBus主要是用到发布者-订阅者的设计模式,所以代码里需要有一个地方注册事件,有另外一个或多个地方订阅事件。为什么要用EventBusvue组件之间的通信,常见的有父传子,子传父,或者兄弟组件间互传,涉及到跨页面时需要用到vuex或者缓存的方式传值。一般来说用vuex做状态管理是项目的首选,但有一些小型而且快

2021-07-21 12:17:53 6549 1

原创 如何精确地获取鼠标在canvas里的坐标

考虑点如果canvas是没有缩放的,在窗口的左上角0,0开始,那鼠标的坐标就等于canvas里鼠标的坐标。但实际开发情况往往不是从原点开始放画布元素。这是需要考虑的有:画布相对于视窗的位置,画布的margin,padding,border-width以及缩放等。直接上代码:代码** * * @param {dom} canvas canvas的dom对象 * @param {event} evt 传入鼠标按下,收起或者移动事件 * @returns {x,y} 返回鼠标在canvas里的x,

2021-06-30 17:20:12 3298

原创 将cmder添加到右键菜单,并添加到环境变量里

添加cmder到右键菜单下载安装cmder,打开cmder命令行界面,然后输入以下命令,按回车Cmder /register all注意:要以管理员身份运行,不然那会失败成功后在任意地方打开系统右键菜单,就可以看到cmder已经在菜单列表里,这样就能快速把命令行定位到当前的文件下了。添加到环境变量打开:控制面板=》系统和安全=》系统=》高级系统设置=》高级=》环境变量,把你安装cmder的根路径添加到 PATH 的列表里:添加到环境变量有什么意义?例如你在电脑里打开了一个目录,想快速

2021-04-13 14:30:11 485

原创 自用的VSCode代码片段,js,vue快速生成代码块

vue篇"Print to vue": { "prefix": "vue", "body": [ "<template>", " <div></div>", "</template>\n", "<script>", "export default {", " name: \"$1\",", " data() {", " return {};", " },", "

2021-04-09 09:55:22 390

原创 vue后台项目常用的公共样式LESS篇,省去80%写样式的时间

采用less开发本篇项目里样式的预处理器选用的是less,跟sass差不多,css预处理器的强大与便捷不是本篇的主要内容就不多加吹捧了,还没用上的赶紧装上就对了。语法也不介绍了,不懂请自行找资料,上手快。适用场景本篇项目主要针对后台去写的公共样式,可以结合其他现成的ui框架用,本项目就采用了element-ui开发,但跟公共样式没半点耦合。移动端也可以借鉴思路去写一套属于自己项目的公共样式表。公共样式的设计原则根据职责单一原则,公共样式里写的东西都是那些信手拈来的样式,都是那些普通而又常用的东西,

2021-03-10 20:24:17 3449 7

原创 8年码农谈谈程序员写博客的重要性

引言先说下本人吧。作为一位前端开发者,我入行也有七年多了,做过的大大小小项目数量上早已过百。以前一直觉得前端难度不大,在做项目的时候根据以前学习的职业技能和经验也够用了,遇到一些难点的地方就在网上翻资料也能解决。怎么说呢,感觉自己写代码的风格也多变,善用各种框架插件做开发,属于敏捷开发类型。只要有前端需求基本能实现出来。转折点近两年跟朋友合伙创业,接一些外包单做做,打算以此发展一番事业。慢慢的发现做外包是没前途的,只能维持生计,团队里也没能萌生出一个能持续发展的项目,在今年疫情的影响下,终究挡不住洪

2020-08-04 18:23:10 829 4

原创 webpack中使用代理proxy解决端口跨域问题

需求场景前后端分离,本地服务端使用了8762接口,而我前端dev环境使用9000端口,这时候如果请求8762端口的数据接口,很明显会由于跨域的问题而请求失败,如果让后端做允许开发有麻烦,怎么办呢?解决方案随着前端技术的发展,es6以及前端构建工具都成了主流技术,不会用都不好意思出来混了。平时用webpack时用的比较多的本地服务器是webpack-dev-server,刚好它自身集成了代理功能,只要在webpack.dev.config.js里的devServer配置里,加上一段代理配置就能实现跨域了

2020-07-03 18:53:00 2243

原创 axios 把post提交请求转为formdata

先安装必要依赖npm install axios qs --savePOST传参序列化(添加请求拦截器)import axios from 'axios';import qs from 'qs';// axios 配置axios.defaults.timeout = 8000;// 配置请求头axios.defaults.headers = {'Content-Type': 'application/x-www-form-urlencoded;charset=UTF-8'};//POS

2020-06-28 19:46:54 2156

原创 3分钟极速搭建vuejs项目

1.全局安装vue脚手架cnpm install -g @vue/cli2.新建项目命令行去到项目文件下,执行:vue create vue-demo初始化过程中我们选择npm作为安装工具vue-demo就是我们创建好的初始化项目3.进入文件并启动项目cd vue-demonpm run serve搞定,感谢阅读...

2020-06-10 10:54:40 200

原创 一步一步引导新手安装webpack的es6开发环境

前言本文采用cnpm去安装模块,在国内的网络环境比npm好用,具体请自行查找cnpm的安装方法本文采用分步引导安装,建议不要跳过操作,成功率99%本文只安装基本的es6开发环境,足够日常的普通开发,点到即止,后期需要用到其他模块可自行扩展1.初始化npmnpm init一直按回车就好2.安装webpack核心包cnpm install webpack webpack-cli --save-dev3.根目录下新建 webpack.dev.config.js写基本配置(入口和输出):

2020-05-27 17:56:02 296

空空如也

空空如也

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

TA关注的人

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