如何解决在执行gulp任务中出现的错误ReferenceError: primordials is not defined如何解决在执行gulp任务中出现的错误ReferenceError: primordials is not defined
最近在执行一个gulp任务时遇到下面这个错误:
Google的结果是说这个是gulp 3在Node 12.x上的一个bug。解决的办法有两个:要么通过nvm将node版本降到12以下,要么将gulp升级到4。由于我工作的电脑上还有其它的项目需要依赖node 12.x版本,所以只能采...[2021/4/19]
简单实现 babel-plugin-import 插件简单实现 babel-plugin-import 插件
前言
平时在使用 antd、element 等组件库的时候,都会使用到一个 Babel 插件:babel-plugin-import,这篇文章通过例子和分析源码简单说一下这个插件做了一些什么事情,并且实现一个最小可用版本。
插件地址:https: github.com/ant-design/b...[2021/4/19]
Vue | 路由守卫面试常考
前言
最近在整理基础,欢迎掘友们一起交流学习 结尾有彩蛋哦! ??????
Vue Router 路由守卫
导图目录
路由守卫分类
全局路由守卫
单个路由守卫
组件路由守卫
路由守卫执行的完整过程
路由守卫分类
全局路由
单个路由独享...[2021/4/19]
中小型前端团队代码规范工程化最佳实践 - ESLint中小型前端团队代码规范工程化最佳实践 - ESLint
前言
There are a thousand Hamlets in a thousand people''s eyes.
一千个程序员,就有一千种代码风格。在前端开发中,有几个至今还在争论的代码风格差异:
单引号还是双引号?
代码行结束是否需要分号?
两个空格还是四个空格?
...
...[2021/4/19]
简单模拟实现javascript中的call、apply、bind方法
目录引子隐式丢失硬绑定实现及原理分析总体实现(纯净版/没有注释)写在最后
引子
读完《你不知道的JavaScript--上卷》中关于this的介绍和深入的章节后,对于this的指向我用这篇文章简单总结了一下。接着我就想着能不能利用this的相关知识,模拟实现一下javascript中比较常用...[2021/4/19]
Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: "/xxx". at createRouterError 的说明和解决
错误说明
Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: "/xxx". at createRouterError
这个错误是说着在promise...[2021/4/19]
JavaScript异步编程2——结合XMLHttpRequest使用Promise
目录1. 概述2. 详论3. 参考
1. 概述
在上一篇文章《JavaScript异步编程1——Promise的初步使用》,简单介绍了一下Promise的初步使用。复习一下,Promise异步编程可以用如下的范式来编写:
定义一个函数(function A),这个函数返回一个Promise...[2021/4/19]
前端数据结构--线性结构-数组
线性结构
线性结构是一个有序数据元素的集合,数据之间的关系是1:1 的关系如:
平时常用的线性结构有数组、线性表、栈、队列 如。
什么是数组
数组是计算机分配一块连续的内存空间,来存储具有相同元素类型的数据。数组具有随机访问的特点,这个特点有利有弊,比如可以根据数组下标快速的访...[2021/4/19]
基于prerender-spa-plugin与vue-meta-info的前端SEO预渲染方案
背景
最近在开发前端项目时,公司为了提升搜索引擎排名,要求我们对网站做一些SEO优化手段,在与相关的搜索优化公司合作后,对方提出了诸如对关键页面加上H1标签、设置关键词TDK、为logo图设置alt等的建议。
但很多前端开发框架如vue,react等打包后页面的数据...[2021/4/19]
Chrome插件开发入门
最近学习了Chrome插件的开发,总体来说上手还是很容易的,因为浏览器插件本质上依旧是网页,写几个demo基本就了解了他的开发过程。
完整项目:xmy6364/chrome-extension-getimage
什么是Chrome插件
正如开头所说的,Chrome插件实际上就是一个网页,...[2021/4/19]
Javascript 转Date对象为字符串实现函数
转Date对象为字符串实现函数
function formatDate(time, format = "Y-MM-dd HH:mm: ") {
/**
格式化字符说明
Y 年 四位数 示例 2021
y 年 年数后二位 示例 21
M 月 ...[2021/4/19]
使用PDF.js渲染canvas实现预览pdf的效果示例使用PDF.js渲染canvas实现预览pdf的效果示例
一、PDF.js的下载
从官网直接下载即可,地址:http: mozilla.github.io/pdf.j getting_started/#download
建议下载稳定版本,如下图所示:
下载完成后将压缩包解压放在项目下,按照正常引入方式引入即可。
二、使用PDF.js
...[2021/4/19]
JS实现简单控制视频播放倍速的实例代码JS实现简单控制视频播放倍速的实例代码
引言
之前就发现一个问题:有时候看一些学习视频,总是嫌它动作太慢,老师黑板上写板书很浪费时间,要是控制合适倍速播放,这样既能提升学习效率,也能让自己看着舒服点。所以我就学着写了下面这个网页,通过Html+CSS+JavaScript实现。
提示:以下是本篇文章正文内容,下面案例可供参考
一...[2021/4/19]
前端数据结构---复杂度分析
为什么需要复杂度分析
我们可以把代码跑一遍,然后通过一些工具来统计、监控就能得到算法执行的时间和占用的内存大小。为什么还要做时间、空间复杂度分析呢?这种分析方法能比我实实在在跑一遍得到的数据更准确吗?
首先,肯定的说这种评估算法执行效率的方法是正确的。很多数据结构和算法书籍还给这种方法...[2021/4/12]
模拟jQuery选择器功能及方法
查看jQuery源码可以发现,jQuery中没有使用new操作符来创建新对象,而是采用调用jQuery原型中init()函数的方式返回一个新对象。 熟悉jQuery的人应该知道,几乎jQuery所有操作,都是从$符号开始,当作为元素选择器的时候,操作结果返回的是一个jQuery对象。以下是个人模...[2021/4/12]
腾讯高级工程师带你完整体验Node.js开发实战腾讯高级工程师带你完整体验Node.js开发实战
Node.js拥有广大的 JavaScript程序员基础并且完全开源,它被广泛地用在 Web服务、开发工作流、客户端应用等诸多领域。在 Web 服务开发这个领域,业界对 Node.js 的接受程度最高。
对于很多前端开发者来说,难点在于如何按照后端工程师的思维,涉及诸如 RPC 调用、系统运维...[2021/4/12]
VUE 动态设置子组件弹窗的层级,解决弹窗层级失效问题
VUE 动态设置子组件弹窗的层级,解决弹窗层级失效问题
子组件点击更多,出弹窗,在其中存入全局的变量
more() {
此处是为了动态修改点出来弹窗的z-index 设置全局的一个变量 监听它
...[2021/4/12]
ES6数组的扩展--Array.from()和Array.of()ES6数组的扩展--Array.from()和Array.of()
目录一、 Array.from() : 将伪数组对象或可遍历对象转换为真数组1.何为伪数组2.有哪些是伪数组3.如何转化为真数组4.Array.from()用法二、Array.of(v1, v2, v3) : 将一系列值转换成数组
一、 Array.from() : 将伪数组对象或可遍历对象转...[2021/4/12]
递归遍历DOM节点
function EleInsert() {
获取父级DOM,这里通过ID (getElementById)
也可以用 通过name属性 getElementsByName/通过标签名(getElementsByTagName)/通过类名(getElementsByCla N...[2021/4/12]
微信小程序getUserProfile适配方案
清明节放假前一天 群里突然炸锅,说小程序所有用的昵称全部变成了微信昵称
当时我就
特么不是说好13号吗???
吓得我赶紧爬起来翻文档(需要代码直接往后翻)
wx.getUserProfile(Object object)
基础库 2.10.4 开始支持,低版本需做兼容处理。
获...[2021/4/12]
搜狗高级架构师帮你系统掌握TypeScript开发
JavaScript 是一门动态弱类型语言,对变量的类型非常宽容,而且不会在这些变量和它们的调用者之间建立结构化的契约。
Angular 已经使用 TypeScript 重构了代码,另一大前端框架 Vue 的新版本也将使用 TypeScript 进行重构。在可预见的未来,TypeScript ...[2021/4/12]
(办公)轻松学redux
Redux状态机:
redux管理数据,单独得js库,可以和react一起使用,也可以不和react一起使用。
React项目很小,简单不复杂,就一两个人开发,就不需要redux.
安装
npm install --save redux
...[2021/4/12]
前端面试题0409
第一题:
var a = 6;
for(var a = 0; a < 9; a++){
}
console.log(a);
第二题:
var B = {
num: "123",
fn: function (){
consol...[2021/4/12]
ThreeJS模型透明出现遮挡
前言
threejs中想实现模型模型透明,显示里面模型的效果。
尝试
首先肯定是拿两个几何体进行尝试,其实只要在材质中开启透明和设置透明度就好了,如果没效果,建议更换材质试试。
var material = new THREE.MeshBasicMaterial({ transparent:...[2021/4/12]
JavaScript异步编程1——Promise的初步使用
目录1. 概述2. 详论3. 参考
1. 概述
Promise对象是ES6提出的的异步编程的规范。说到异步编程,就不得不说说同步和异步这两个概念。
从字面意思理解同步编程的话,似乎指的是两个任务同步运行,如果这样理解就错了(至少笔者再没有接触到这个概念的时候有这种误解)。同步和异步指的是代...[2021/4/12]
js实现上传图片到服务器
本文实例为大家分享了js实现上传图片到服务器的具体代码,供大家参考,具体内容如下
HTML
多张图片上传multiple
<input type="file" id="file" multiple>
原生提交按钮
<input type="sub...[2021/4/12]
JSON驱动的vue可视化表单设计器组件
form-create-designer 是基于 @form-create/element-ui 实现的表单设计器组件。可以通过拖拽的方式快速创建表单,轻松帮你搞定表单。
源码地址: Github | GItee
在线演...[2021/4/6]
作用域+作用域链+预编译+闭包基础
函数被定义:GO形成
a()函数还未执行的时候,会生成一个scope属性,生成一个函数的作用域链,在作用域链中保存了GO(全局的执行期上下文)
函数属性[[scope]],[[scope]]保存函数的作用域链
每一...[2021/4/6]
超详细html5登录注册页面总结
一、HTML5简介 HTML是互联网上应用最广泛的标记语言。HTML文件就是普通文本+HTML标记,而不同的HTML标记能表示不同的效果。
HTML5优势 HTML5并不是一种革新的的升级,而是一种向规范向习惯的妥协,因此HTML5并不会带给开发者过多的冲击,从HTML4到HTML5过渡会非常...[2021/4/6]
React展示markdown文件
概述
实现方式
依赖的主要 package
前端页面
markdown 文件位置
实现效果
概述
markdown 文件虽然可以转成 html 文件再展示在浏览器中, 但多了一层转换总觉得有些麻烦,特别是对于需要频繁改动的 markdown 文件。
所以,这里探索了一种直接在 Rea...[2021/4/6]
立即执行函数+闭包深入+逗号运算符
立即执行函数,执行完成以后立即释放
立即执行函数 -初始化函数
IIFE -immediately-invoked function expre ion
立即执行函数特点:页面加载自动执行、执行完成立即销毁
(function(){
})(...[2021/4/6]
利用JS-SDK给Typecho微信分享链接带上自定义封面和简介
引言
将自建的网站链接分享给朋友/分享到朋友圈的时候,默认是没有缩略图封面的,也没有链接的描述,显得很不正规,就像下面这样:
这是因为微信的网页链接需要调用SDK进行配置。
使用JS-SDK
微信js-sdk是微信公众平台面向网页开发者提供的基于微信内的网页开发工具包。
我们可以使用j...[2021/4/6]
构造函数及实例化原理+包装类
这里没有进行构造函数,这里的this指向的是window 相当于window.color
this如果又实例,指向实例化对象,如果没有实例指向window ,函数成为构造函数需要 new 一下
...[2021/4/6]
(办公)探秘react教程20210331
1.create-react-app my-react创建项目 2.npm start启动项目,项目启动是localhost:3000端口 3.Props传递数据:
const user = {
&...[2021/4/6]
原型+原型链+闭包+立即执行函数+插件开发初识原型+原型链+闭包+立即执行函数+插件开发初识
一个比较强的分析:针对item的乘除进行封装成方法,针对不同的方法进行item的乘除,但是还是不够简介
来个更加简洁的:这就有点像java里面的一些封装,多写这样的代码对之后的专业素养能有一个比较大的提升
...[2021/4/6]
箭头函数的副作用箭头函数的副作用
一、前言
项目中,我习惯上能用箭头函数的地方都用箭头函数,这样我就不用随时操心this作用于的问题,而且对于书写上也很方便。也搜索过相关文章,里面也建议尽量使用箭头函数。当然,箭头函数也不是万能,肯定无法取代普通函数。
那么,究竟箭头函数需要注意哪些呢?
二、一些常见的问题
(代码在控制台测...[2021/4/6]
「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之动态表关系管理(六)
基于Vue和Quasar的前端SPA项目实战之表关系(六)
回顾
通过上一篇文章 基于Vue和Quasar的前端SPA项目实战之动态表单(五)的介绍,我们已经完成了元数据中动态表单设计功能,本文主要表关系功能的实现。
简介
在crudapi系统中,通过表关系(relation)管理将多个表连接...[2021/4/6]
(办公)轻松学 React-Router 4(20210401)
命令创建项目:create-react-app hello-model-router
安装router:yarn add react-app-router-dom
按照例子来理解:
3.1. React router介绍
路由: path什么路径,comp...[2021/4/6]
原型与原型链深入+对象继承
之前算字符串的字节码的题:
进行优化:
原型继承关系:(沿着__proto__一层一层的去继承原型属性的链条叫做原型链)
&nbs...[2021/4/6]
手机浏览器通过Scheme跳转APP,兼容各种手机浏览器
一个比较完整的产品线,必定有APP和网站,另外还有微信公众号网页和小程序。那么有一个比较常见的需求就是在手机浏览器内打开APP,实现起来也比较简单,只要APP配置的有URLScheme即可。但是因为无法判断是否安装APP,所有只能尝试去打开APP,如果打不开则跳转到APP下载页面。另外手机浏...[2021/4/6]
「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之业务数据增删改查(七)
基于Vue和Quasar的前端SPA项目实战之业务数据(七)
回顾
通过上一篇文章 基于Vue和Quasar的前端SPA项目实战之表关系(六)的介绍,元数据设计功能全部实现了,本文主要介绍业务数据的crud增删改查功能。
简介
在crudapi系统中,通过配置表单的方式定义元数据。表单配置好之...[2021/4/6]
周爱民带你深入剖析JavaScript核心原理
作为前端工程师必备技能,JavaScript 的重要性不言而喻。虽然易上手,但却有着诸多复杂微妙的机制,想要真正掌握绝非易事。
专栏面向JavaScript语言的实际应用者与深度爱好者,以讲述JavaScript语言特性、原理以及核心实现技术为主。
周爱民将综合代码的特殊性、代码所涉问题的领...[2021/4/6]
对象继承深入、call_apply、圣杯模式、构造函数和闭包,企业模块化
一个实现加减乘除的插件:
原型其实是在构造函数之上的,构造函数变成实例化函数的时候才会有原型,
原型实际上是构造函数的一个属性
原型无非就是2个字:继承
原型中继承父类所有方法是很不合理...[2021/4/6]
「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之docker部署(八)
基于Vue和Quasar的前端SPA项目实战之docker部署(八)
回顾
通过上一篇文章 基于Vue和Quasar的前端SPA项目实战之业务数据(七)的介绍,crudapi-admin-web基本功能全部实现了,本文主要介绍前端打包和docker部署相关内容。
简介
Docker是一个开源的...[2021/4/6]
链式调用+对象属性与遍历+this指向+caller/callee
之前的作业:
提示: 在开发的时候尽量在函数内部将作用都给调用好,在外部就能够直接使用
链式调用:
正常这样是不行的,因为没有具体返回值:
&...[2021/4/6]
一款轻阅读应用ReadIT,记录我的RN躺坑之旅 - 24k-小清新
背景
一款轻阅读应用ReadIT,支持功能:优质文章推送、评论点赞、计划制定、计划闹钟、天气预报、收藏文章、深浅两套主题、多语言切换、极光推送等功能。后续还会继续集成功能。前后端均自主研发,借鉴市面较好的种子工程,目前未上应用市场,文章目前也比较少,后续会持续补充优质文章。
展示效果
点我
下...[2021/4/6]
基于react hooks,zarm组件库配置开发h5表单页面
最近使用React Hooks结合zarm组件库,基于js对象配置方式开发了大量的h5表单页面。大家都知道h5表单功能无非就是表单数据的收集,验证,提交,回显编辑,通常排列方式也是自上向下一行一列的方式显示 , 所以一开始就考虑封装一个配置化的页面生成方案,目前已经有多个项目基于此方式配置开发上...[2021/4/6]
「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之动态表单(五)「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之动态表单(五)
基于Vue和Quasar的前端SPA项目实战之动态表单(五)
回顾
通过上一篇文章 基于Vue和Quasar的前端SPA项目实战之序列号(四)的介绍,我们已经完成了元数据中序列号的增删改查,本文主要介绍动态表单设计功能的实现。
简介
在crudapi系统中,所有的业务表单都是通过配置动态生成的...[2021/3/29]
「免费开源」基于Vue和Quasar的前端SPA项目crudapi后台管理系统实战之自定义组件(四)
基于Vue和Quasar的前端SPA项目实战之序列号(四)
回顾
通过上一篇文章 基于Vue和Quasar的前端SPA项目实战之布局菜单(三)的介绍,我们已经完成了布局菜单,本文主要介绍序列号功能的实现。
简介
MySQL数据库没有单独的Sequence,只支持自增长(increment)主键...[2021/3/29]
从0到1搭建一个个人小站(小白版)
工欲善其事 必先利其器
我们先来梳理一下,简单的建站需要准备什么。
一台服务器。
一个自己的域名。
代码和时间。这里我们选择的技术栈是Vue + node.js + nginx + mongoDB。(为什么选择这些?因为只会这些o(╥﹏╥)o)
阿里腾讯都可以 首次购买俱便宜
个人推...[2021/3/29]