自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 react+electron开发笔记(一):搭建

react+electron开发笔记(一):搭建

2022-08-09 10:43:48 403 1

原创 babel实战(四):压缩混淆工具

babel实战(四):压缩混淆工具

2022-07-13 17:56:34 908

原创 babel实战(三):自动国际化

babel实战(三):自动国际化

2022-07-13 16:50:33 467

原创 babel实战(二):自动函数埋点

babel实战(二):自动函数埋点

2022-07-12 14:58:44 320

原创 babel实战(一):日志打印时进行代码定位

babel实战

2022-07-05 17:31:59 325

原创 Ant Design Vue 3 RangePicker 如何设置初始值

Ant Design Vue 3 RangePicker 如何设置初始值

2022-05-06 15:00:06 1693 2

原创 vue如何更好地对本地调试和线上调试进行切割

有的时候你可能有一些不应该提交到代码仓库中的变量,尤其是当你的项目托管在公共仓库时。这种情况下你应该使用一个 .env.local 文件取而代之。本地环境文件默认会被忽略,且出现在 .gitignore 中。.local 也可以加在指定模式的环境文件上,比如 .env.development.local 将会在 development 模式下被载入,且被 git 忽略。新建一个文件.env.development.local只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlug

2021-11-10 16:03:18 842

原创 vue3 + typescript 部分类型声明(refs, route)

routeimport { RouteLocationNormalized } from 'vue' const $route: RouteLocationNormalized = useRoute();$refs<ComponentA ref="ComponentA"/>import ComponentA from './ComponentA'const componetA = ref<null | InstanceType<typeof ComponentA>

2021-11-10 15:34:19 1444

原创 Element implicitly has an ‘any‘ type because expression of type ‘any‘ can‘t be used to index type 报错

Typescriptlet obj = { a: "hey", b: "you", c: "guys" };for (const k in obj) { console.log(obj[k].toUpperCase()); // error! /* Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{ a: string; b: str

2021-10-28 11:42:46 8995

原创 Ant Design Vue - tabs 组件模糊搜索功能实现

<a-input-search placeholder="input search text" style="width: 224px; padding: 10px" @search="onSearch" /><a-tabs ref="locationsTabs"> <a-tab-pane ref="tabsPane" v-for="(value, key) in locationsData" :key="key.toString()" > &

2021-09-09 16:31:56 560

原创 使用vite + SSR使用依赖碰到document is not defined的解决方法

通过import.meta.env.SSR去判断在vue-cookie-next依赖里用了document.cookie,判断逻辑如下//某代码逻辑里if (!import.meta.env.SSR) { // ... 仅在客户端执行的逻辑 const name = cookie.getCookie('username') USER = { name }}即可消除报错...

2021-09-03 11:12:28 2097

原创 Vue2 迁 Vue3 踩过的一些坑(持续更新)

去除extends这个是迁移过程中暂时来看最复杂的//b.vueimport a from './a.vue'export default class b extends a { getB () {}} //a.vue<template> <div>{{tabData}}</div></template><script lang="ts">export default class a extends Vue { getA

2021-08-20 18:34:20 848

原创 Vue3中组件内如何监听route

<script lang="ts">import {useRoute} from 'vue-router'export default { setup() { const $route = useRoute() watch(() => $route.query, () => { //do something }, {immediate: true} //options放这 }}</script>

2021-08-18 15:53:05 1426

原创 vue-cli4.x升级到5.0.0-beta.3遇到的一些问题

vue-cli4.x升级到5.0.0-beta.3遇到的一些问题项目使用的是Vue框架1.报错: transpileDependencies.map is not a function解决:搜索无果,在vue.config.js 中添加transpileDependencies: []报错解决2. 报错:configuration.optimization has an unknown propertyvue-cli5.0.0-beta.3抛弃了webpack 4转而使用webpack 5

2021-08-16 17:46:01 8575

转载 eventLoop

事件循环机制

2021-05-13 16:37:16 47

原创 Next.js 开发中的一些约束

Next.js 规定,pages 目录下的 .js 文件会被渲染为路由页。| -- pages | -- about.js // 对应'/about'路径 | -- index.js // 对应'/'路径除了这种方法,还可以下定义 /about 路由:新建 /about 文件夹,文件夹内新建 index.js 文件如果是点击事件跳转,个人更建议使用 Link 标签,而一些方法内的跳转,无法使用 Link 的情况下才建议使用 Routerge.

2021-05-13 16:34:12 170

原创 项目中怎么搭建一个Vuex?

文件布局--store | --modules | --user --order--getters--indexmain.js 文件构造import store from './store'new Vue({ store, render: h => h(App)}).$mount('#app')index.js 文件构造//store/index.jsimport Vue from 'vue'import Vuex from 'v.

2021-05-13 16:31:54 78

原创 Webstorm自动获取参数添加注释

“/**” + Enter 就可以了示例initData(key) { console.log('key', key) }然后在函数上面输一下"/**"/**initData(key) { console.log('key', key) }敲一下回车/** * * @param key */ initData(key) { console.log('key', key) }成功!...

2021-04-30 10:24:56 1650 2

原创 用Node.JS 实现翻译功能

main.tsimport * as https from 'https';import * as querystring from 'querystring';//alt+Enter自动匹配,MD5用的就是requireimport md5 = require('md5');import {appId, appSecret} from './private';type ErrorMap = { [key: string]: string}//表驱动const errorMap

2021-04-27 12:16:07 1126

原创 手写eventHub

src/index.tsclass EventHub { private cache: {[key: string]: Array<(data?: unknown) => void> } = {} on(eventName: string, fn: (data: unknown ) => void) { this.cache[eventName] = this.cache[eventName] || [] this.cache[eve

2021-04-20 15:15:44 89

原创 Promise在并行中的使用

Promise的一些知识.then的任务被放进微任务里setTimeout的任务被放进宏任务里微任务做完后再做宏任务Promise并行const task1 = () => new Promise((resolve, reject) => { setTimeout(() => {reject('第1次拒绝了')}, 3000)})const task2 = () => new Promise((resolve, reject) => { set

2021-03-20 17:26:45 291

转载 prototype和__proto__的区别

方应杭: prototype和__proto__的区别这篇写的非常好,自己就不献丑了

2021-03-18 15:30:21 381

原创 如何确定this

如何确定this把隐式this转换成显式thisfn(1, 2)//fn.call(undefined, 1, 2)obj.method('hi')//obj.method.call(obj, 'hi')array[0]('hi')//array[0].call(array, hi)2.new重新设计了this3.箭头函数不接受this

2021-03-18 15:10:46 58

原创 手写Promise

手写Promise笔记1.promise代码class Promise2 { state = 'pending' //初始状态为pending callbacks = [] resolve (result) { if (this.state !== 'pending') return this.state = 'fulfilled' setTimeout(() => { this.callbacks.

2021-03-09 18:01:44 46

原创 手写bind笔记

手写bind过程整理1. 不考虑new测试用例const bind = require('../src/index')test1('确认 fn.bind 能用')test2('this 绑定成功')test3('this, p1, p2绑定成功')test4('this, p1绑定成功, 后传p2调用成功')function test1(message) { console.log(message) Function.prototype.bind2 = bind

2021-03-08 15:34:23 220 4

原创 简单计算器中的一部分

简单计算器中的一部分:#include"pch.h"#include <iostream>#include <cstdio>#include <cctype>#include <string>#include <stack>using namespace std;double GetNumber(string str, ...

2020-04-01 11:46:30 66

空空如也

空空如也

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

TA关注的人

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