自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue3+uni-app 报错TS2591: Cannot find name ‘require’. Do you need to install type definitions for node?

公司技术栈主要是vue,移动端是uni-app。最近打算迭代移动端项目,vue3都已经更新到3.2.x,vite也更新到2.x,前期大多数bate问题都已处理优化得差不多,正好趁这个机会将原来的vue2 + webpack 升级成 vue3 + vite + typescript。问题出现前期项目搭建就不在这里讲了,后面整理好了单独出一篇。讲一下遇到的问题:在一次模板语法使用require引入静态图片时,报了一个错 TS2591: Cannot find name ‘require’. Do you n

2022-01-09 23:45:32 4179 2

原创 浅谈 vue 3.2 单文件组件和setup

在vue 3.0时代加入了组合式API,其setup语法大大改变了vue2.x的一些使用方式,接下来就简单列举一些setup的使用方法。一、“我全都要!”在vue2.x时,所有的参数都是在data里先进行初始化声明,然后其他地方再进行调用,有专门的props接收父组件传递过来的参数,有methods负责管理所有的执行方法,以及每个生命周期函数。而在vue3.x里,data,methods那些还是继续保留,但现在一个setup就能在里面使用那些方法。<script lang="ts">im

2021-12-28 01:01:15 1727 1

原创 js 相等算法

ES2015中有四种相等算法:抽象(非严格)相等比较 (==)严格相等比较 (===):用于 Array.prototype.indexOf, Array.prototype.lastIndexOf, 和 case-matching同值零: 用于 %TypedArray% 和 ArrayBuffer 构造函数、以及Map和Set操作, 并将用于 ES2016/ES7 中的String.prototype.includes同值: 用于所有其他地方JavaScript提供三种不同的值比较操作:

2021-12-27 17:46:01 488

原创 微信H5分享到朋友圈,转发朋友功能随记

最近刚做了一个微信公众号H5项目,里面包含一个分享到朋友圈和分享给好友的功能。配置白名单以及公众号js安全域名这些就不赘述了,接下来简单介绍下实现这个功能的几个前端步骤因为是微信网页开发,项目里如果有用到一些分享,音频,视频的功能就必须接入它的SDK工具包,详情可以到官方文档里看一下第一步 绑定域名先登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名”。备注:登录后可在“开发者中心”查看对应的接口权限。第二步 引入JS文件在需要调用JS接口的页面引入如下JS文件,(支持ht

2021-12-21 00:40:06 3085 2

原创 css 设置文本字体间距及首行缩进

在最近的开发过程中有涉及到展示客户故事内容的功能,其中包含对文本样式的的一个处理常用的文本样式大多都是 font-size, font-weight, color之类的,那今天就要介绍两个文本样式属性letter-spacing MDN文档地址CSS 的 letter-spacing 属性用于设置文本字符的间距表现。 用于设置文本字符的间距表现。letter-spacing: normal;letter-spacing: .2rem;单位 em: 是相对于元素的字体大小(font-si

2021-12-04 00:32:18 976

原创 js 生成随机数(洗牌算法)

给定一个数组 nums ,随机打乱成一个没有重复元素的数组。方法一每次从未处理的数组中随机取一个元素,然后把该元素放到数组的尾部,即数组的尾部放的就是已经处理过的元素,这是一种原地打乱的算法,每个元素随机概率也相等,时间复杂度为 O(n)选取数组(长度n)中最后一个元素(arr[length-1]),将其与n个元素中的任意一个交换,此时最后一个元素已经确定选取倒数第二个元素(arr[length-2]),将其与n-1个元素中的任意一个交换重复第 1 2 步,直到剩下1个元素为止 functi

2021-12-01 23:56:33 843

原创 js 算法 获取数组内两数之和

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。...

2021-11-22 00:06:40 1379

原创 从零开始搭建自己的 cli

开始

2021-10-08 17:42:06 179

原创 nodejs 中读取 package.json 文件内容

在准备发布一个自己配置的 cli 项目时遇到了一个问题,就是当我使用common.js规范引入node_modules文件const program = require("commander");const download = require("download-git-repo");const inquirer = require("inquirer");const ora = require("ora");const chalk = require("chalk");const packa

2021-10-06 23:57:27 4410 5

原创 js 算法 买卖股票的最佳时机

给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。 随后,在第 4 天(股票价格 =

2021-09-28 00:09:47 369

原创 js 删除有序数组中的重复项

如题,条件有:原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例输入:nums = [0,0,1,1,1,2,2,3,3,4]输出:5, nums = [0,1,2,3,4]解释:函数应该返回新的长度 5 , 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4 。不需要考虑数组中超出新长度后面的元素。解法1function demo(nums: nu

2021-09-26 23:58:29 447

原创 vue 3.0 + vite项目gzip打包优化

最近自己构建了一个 vite 2.0 + vue 3.2.* 的开源项目,记录一下本次项目进行本地代码打包压缩的优化

2021-09-18 16:00:20 6463 1

原创 手摸手 撸一个 vue3.0 history 模式配合 nginx 多 location 配置

vue router 有 Hash, HTML5 不同的历史模式官方文档:hash 模式是用 createWebHashHistory() 创建的import { createRouter, createWebHashHistory } from 'vue-router'const router = createRouter({ history: createWebHashHistory(), routes: [ //... ],})它在内部传递的实际 URL 之前

2021-06-16 18:17:25 1856

原创 Git报错-refusing to merge unrelated histories

问题:在本地创建一个项目关联到码云仓库关联远程地址 git remote add origin https://xxxxx,然后报了个错 fatal: refusing to merge unrelated histories(拒绝合并不相关的历史),原因:在网上查了下资料,主要原因还是在于本地仓库和远程仓库实际上是独立的两个仓库,如果是通过clone的方式拉取远程仓库的克隆本地仓库就不会有这问题了。解决:可以通过 git pull origin master --allow-unrelated-

2021-06-16 17:00:39 207

原创 windows从零搭设Nginx 服务器代理本地服务

一. nginx安装1. 下载nginx, 选择下载Stable version版本;2. 安装到本地文件夹,我这里是安装到的E盘,依据个人喜好,不做过多赘述,二. 启动nginx进入到nginx文件夹内,打开终端输入执行命令1. 启动: start nginx;2. 重启: ./nginx -s reload;3. 强制关闭:./nginx -s stop;4. 丝滑关闭: ./nginx -s quit;注意:这里如果用 gitbash 的终端执行重启命令就会出现 bash: ngin

2021-06-11 18:21:10 766 2

原创 初探 vue 3.0 自定义组件的 v-model

vue 2.2.0+ 时增加了一个自定义组件的语法糖 v-model,具体的用法 vue官方文档 有比较详细的介绍,我这里不多做赘述,直接上 3.0 的方法体验基本使用方法父组件<SimpleDemo v-model="bar" />子组件<a-input type="text" :value="modelValue" @input="onSearchInput" />props:{   modelValue:{   type:String  }}me

2021-01-04 15:30:51 1013

原创 npm 安装报错 Unexpected end of JSON input while parsing near ‘...pendencies“:{“@babel/

在使用 cmd 命令行安装 vue3.0 时报错 Unexpected end of JSON input while parsing near '…pendencies":{"@babel/我用 vue-cli 安装了多个项目,清理一下缓存,运行命令npm cache clean --force然后再重新执行 npm 安装命令,安装成功...

2020-12-30 10:02:09 238

原创 vue + typescript 项目构建

vue-typescript 项目开发 - 优雅的构建项目引言近几年前端对 TypeScript的呼声越来越高,Typescript也几乎成为了前端必备的技能。TypeScript 作为 JS类型的超集,当中的泛型、类型、命名空间、枚举等特性,弥补了 JS 在大型应用开发中的不足,让我们在开发中有了更严格的代码要求。Typescript在单独学习时都还比较好理解,当它与VUE结合后两者都有着有着不小的改变。需要去查看框架提供的.d.ts的声明文件中一些复杂类型的定义、组件的书写方式等都要做出不小的调整

2020-12-28 16:03:40 2314 12

原创 记一次阿里云Ubuntu镜像前端项目从零到发布

阿里云Ubuntu镜像前端项目部署配置顺序xshell配置下载安装nginx修改nginx配置启动Nginx服务停止Nginx服务加载最新配置立即停止Nginx服务查看 nginx 错误日志配置顺序记录依次部署到阿里云服务器的依次经历, 没有申请域名,用的是公网IP访问xshell配置本地下载xshell进行服务器连接配置打开xshell新建会话连接 1.点击左上角 文件(F) 点击新建 2.输入自定义的会话名称,在主机(H) 这里输入你自己的公网IP地址点击用户身份验证 输入阿里云镜像配置时

2020-12-04 18:07:24 341

原创 从0开始发布npm 包

从0开始发布npm 包从0开始发布npm 包创建npm帐号搭建项目包的参数创建方法发布到npm从0开始发布npm 包记录一次学习npm包从0构建到发布的过程,我大概分了几个过程创建npm帐号搭建项目包的参数创建方法发布到npm在webpack项目中引入放到npm中的方法npm方法的版本更新和重新发布删除npm方法的版本和彻底删除npm的方法创建npm帐号搭建项目包的参数进入到你构建项目的文件夹内打开cmd,输入命令‘ npm init ’,package name自定义个一个,

2020-06-07 23:13:14 264

原创 promise,setTimeout运行顺序对比

setTimeout(() => { console.log(1)})new Promise(function executor(resolve) { console.log(2) for (let i = 0; i < 10000; i++) { i ===999 && resolve() } console.log(3)}).then(() =&...

2019-09-28 18:31:23 243

原创 JS 数组去重

这里讲的是通过ES6语法的new Set()方法进行数组的去重处理let arr = [1, 1, 1, 2, 3, 4, 2]function removeReapeatNumber(arr) { return [...new Set(arr)] // 还可以运用ES6数组扩展Array.from()方法 // return Array.from(new Set(arr)) // [1...

2019-09-25 17:40:14 215

原创 element-ui 版本升级

element-ui版本升级记录一下项目开发过程中的一些小问题查看当前element-ui的版本号升级element-ui记录一下项目开发过程中的一些小问题查看当前element-ui的版本号npm list element-ui;升级element-ui要先升级element-ui要先卸载原来的版本npm uninstall element-ui> uglifyjs-web...

2019-08-18 16:37:49 3724 7

空空如也

空空如也

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

TA关注的人

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