typescript vite4 pinia vite

TypeScript extends

extends 的含义 extends 在接口和类中都是继承的意思,继承之后的子接口或子类都是属于这个父接口或父类的,是一个从属关系。 extends 还有一个重要的用法就是在类型中,依旧还是继承的意思,是一种从属关系。如下的例子所示: interface Animal { name: string ......
TypeScript extends

TypeScript type 关键字和 interface 关键字

前言 type 和 interface 都可以声明 TS 类型。 type Point1 = { x: number; y: number; }; interface Point2 { x: number; y: number; }; 它们两个声明这个对象类型有任何区别吗?很明显没有,我认为最能区分 ......
关键字 关键 TypeScript interface type

Vue3中(vite.config.js)配置打包的时候去除console.log

参考:https://www.cnblogs.com/lovewhatIlove/p/16476165.html 安装terser npm add -D terser vite中配置 import { defineConfig } from "vite"; import vue from "@vit ......
console 时候 config Vue3 vite

(二)vue组件化基础跟脚手架vue-cli/vite

vue组件化开发思想 组件化的思想: 将一个页面的所有的处理逻辑放到一起,处理起来就会非常复杂,而且不利于后续的管理以及扩展; 如果,将一个页面拆分为一个个小功能块,每个功能块完成属于自己这部分独立的功能,那么之后整个页面的管理和维护就变得非常容易了; 就像搭积木一样来搭建我们的项目; 用组件化思想 ......
脚手架 组件 vue vue-cli 基础

TypeScript 报错:Type '({ filename: string; createTime: string; filePath: string; fileId: number; } | undefined)[]' is not assignable to type 'PiFile[]'.

问题: 因为TypeScript不支持直接给一个接口类型的变量 赋一个未知的值。 如 const a:A = { name:'s' }; 你需要给这样的对象或数组值使用as 指定一个类型。 正确写法: const a:A = { name:'s' } as A; 数组写法一样: const a:A[ ......
string 39 TypeScript createTime assignable

typescript vue3 VueDraggable 报错 Uncaught TypeError: Cannot read properties of null (reading 'element')

Uncaught TypeError: Cannot read properties of null (reading 'element') nnot read properties of null (reading 'index') 错误写法 就是说子组件需要用div包着,你用其他东西,他无法添加 ......

TypeScript:高级类型

class类型 class类型,和Java差不多。 class Person { name: string; age: number = 0; } let person = new Person(); 构造函数 class Person { name: string; age: number = 0 ......
TypeScript 类型

TypeScript:函数兼容性问题

函数兼容性 大家在JS中经常可以看到这样的代码: lisr.forEach( (item) => {}); lisr.forEach( (item,index) => {}); 就是()的参数有时是可以省略的,而这个正式函数的兼容性性质。说白了就是: 多的函数 = 少的函数;参数少的函数可以赋值给参 ......
兼容性 TypeScript 函数 问题

关于在 vite 中无法使用绝对地址动态导入的问题

碰到一个贼无语的问题,有一个项目,需要使用虚拟键盘,找到了一个自称能在 vue 3 使用的,还能导入词库,看起来挺好,装完一用。好家伙,报错一环接一环,给我整无语了。但是市面上已经没有另外一款带中文的虚拟键盘了,只能捏鼻子下载下来自己改了。 整了半天,终于让组件能在 vue 3 + TS 下跑了,一 ......
地址 动态 问题 vite

Vue3 Vite H5 手写一个横向展开的多级树列表

最近写h5要做那种稍微复杂一点的树,没找到现成的UI组件库可用,vant的树只有两级不满足,只能自己写 ps. 选框的选择/反选/半选对父子选项的影响还有bug,留到脑子好的时候再优化 效果 代码 框架是Vue3+Vite+Vant4。复选框用的vant的checkbox,应该也可以换别的或者原生。 ......
横向 Vue3 Vite Vue H5

vite vue3 全局批量注册组件

方式1-使用import.meta.glob import { createApp, defineAsyncComponent } from 'vue' const app = createApp(App); app.mount('#app'); // antd全局使用图标,遍历引入 const i ......
全局 组件 vite vue3 vue

TypeScript:常用类型约束

JS已有的数据类型如number、string、null....但并没有进行类型限制 所以,TS在支持JS全部类型的类型注解基础上,自己还加了一些新类型和新类型注解。 JS已有类型 基础类型:number , string ,boolean , null, undefined, symbol 对象类 ......
TypeScript 常用 类型

TypeScript:字面量类型

我是做Java的,看到这个字面量类型震惊我三观,原来设计类型可以这么草率。 先说吧,字符串、数字、对象、布尔类型的常量值,可以作为字面量类型。是的,是常量值作为类型。举个下面例子: const name:'zhangsan' = 'zhangsan' const age:18 = 18 const ......
字面 TypeScript 类型

TypeScript:类型断言

TS中有类型推断的机制,就是你不指定常量类型,TS会自动帮你推动,如下: 但他这种推断机制,是基于高层的父元素,很多子元素的方法和属性使用用不到,这样我们得手动的进行类型断言,使用 [as 元素类型],如下: 如果你不知道此标签的元素类型,可以通过下面的方式: 找到自己知道类型的标签类型,指着这个标 ......
TypeScript 类型

Vite-Admin后台管理系统|vite4+vue3+pinia前端后台框架实例

基于vite4.x+vue3+pinia前端后台管理系统解决方案ViteAdmin。 前段时间分享了一篇vue3自研pc端UI组件库VEPlus。这次带来最新开发的基于vite4+vue3+pinia技术栈搭配ve-plus组件库构建的中后台权限管理系统框架。支持vue-i18n国际化多语言、动态路 ......
后台 前端 Vite-Admin 框架 实例

vite 本地预览

不需要任何配置, 但是需要现在本地打包后才可以预览 直接/是因为public里面有,打包后的文件也是同一级的 ......
vite

TypeScript:可选参数

TS中定义的函数参数,默认都是必传的,不然编译不过。如果想指定参数是可选,在参数后加?即可,如下: function add(num1?: number,num2?: number): void{ } 注意:可选参数后面是不能有必填参数的,举个反例: function add(num1?: numb ......
TypeScript 参数

vite写jsx语法报错: [vite] Internal server error: Failed to parse source for import analysis because the content contains invalid JS syntax. If you use tsconfig.json, make sure to not set jsx to preserve.

1.安装vite的jsx包 npm i @vitejs/plugin-vue-jsx --save 2.安装所有依赖 npm i 3.在vite.config.ts中配置 import { defineConfig } from 'vite'; import vue from '@vitejs/pl ......
vite 语法 jsx Internal analysis

基于vue和vite的cesium、cesiumNavigation使用--(1)项目构建及引入

​ 系统信息 windows10 LTSC 21H2 vscode:1.77.1 nodejs:18.15.0 npm:9.5.0 版本信息 vue:3.2.47 vite:4.1.4 cesium:1.104.0 vue-router:4.1.6 默认在以上的js相关版本下构建环境,并包括创建vu ......
cesiumNavigation 项目 cesium vite vue

第十四篇 手写原理代码 - typeScript 【 实现 required、returnTypes、Partial、readOnly 】

在 TypeScript 中实现 required、returnTypes、Partial、readOnly 等功能可以帮助开发者更加方便地处理数据类型,减少在代码中出现的错误,提高代码的可维护性和健壮性 1、实现 required 使可选属性变为必填属性 type MyRequired<T> = ......

基于vue3+ts+vite的项目使用‘unplugin-auto-import/vite’插件,自动全局导入api的注意事项

​ 1.首先安装插件 npm install unplugin-auto-import @vitejs/plugin-vue -D 2.安装完成后在vite.congfig.ts中配置,红色部分就是关于插件的基础自动导入部分,这样就可以将vue和router的相关api全局导入了, import A ......

Vue3+Vite 动态修改svg图片颜色

首先需要以组件形式使用svg,请先看这篇文章:vite中加载使用svg 可能是跟原博主使用的svg格式不同,用:style="{ color: color }"修改颜色不生效,因此做了一点修改,此修改适用的svg如下: 在iconfont官网收藏下载的svg格式图标,打开文件删除其中的fill=xx ......
颜色 动态 图片 Vue3 Vite

pinia学习的博文

学习记录的一些博文: 1.https://www.cnblogs.com/goloving/p/16789607.html 都是一些最最基础的操作,实际场景比这个复杂 其中提到了pinia-plugin-persist 来持久化存储 2.https://www.cnblogs.com/yaopeng ......
pinia

vite打包遇到的问题

Rollup是一个模块打包器,Vite使用它来为生产环境打包和优化您的代码。默认情况下,Rollup假定所有依赖项都是本地的,应该包含在bundle中。然而,在您的bundle中包含大型依赖项会增加应用程序的大小,这可能会减慢用户的加载时间。 为避免这种情况,Rollup提供了排除某些模块不包含在b ......
问题 vite

[Typescript] Write clean Type 2 - Reduce the usage in generic slot

This the following code example, test have passed for both run time and compile time: import { expect, it } from 'vitest'; import { Equal, Expect } fr ......
Typescript generic Reduce Write clean

[Typescript] Inferring Literal Types from any Basic Type

export const inferItemLiteral = <T>(t: T) => { return { output: t, }; }; const result1 = inferItemLiteral("a"); // ? {output: string} /* vs */ export ......
Typescript Inferring Literal Basic Types

[Typescript] Generic slots, using built-in types as much as possible

There are two options doing the same things. const makeSafe = <TParams extends any[], TReturn>(func: (...args: TParams) => TReturn) => ( ...args: TPar ......
Typescript built-in possible Generic slots

Typescript实现指定属性变成readonly

1. 存在的问题 typescript内置的Readonly类型只能为所有的属性加上readonly关键字,假设已经有如下的interface叫Circle: interface Circle { kind: "circle"; radius: number; x: number; y: numbe ......
Typescript readonly 属性

vite 开发按需引入的组件库 rollup

转载:https://blog.csdn.net/qq_27314517/article/details/128675552 package.json { "name": "...", "private": false, "version": "0.1.9", "main": "./lib/inde ......
组件 rollup vite

vue3 封装组件中使用 pinia 报错

报错信息: Uncaught Error: [🍍]: getActivePinia was called with no active Pinia. Did you forget to install pinia? const pinia = createPinia() app.use(pinia ......
组件 pinia vue3 vue