目录 1. 本篇适用范围与目的 1.1. 适用范围 1.2. 目的 2. 牛刀小试 - 先看到地球 2.1. 创建 Vue3 - TypeScript 工程并安装 cesium 2.2. 清理不必要的文件并创建三维地球 2.3. 中段解疑 - 奇怪的路径 2.4. 打包部署 2.5. 有限的优化 3. CesiumJS 前置知识 3.1. CesiumJS 依赖包中的资料说明 3.2. 构建后的 CesiumJS 库组成 - 主库文件与四大文件夹 3.3. 链接库文件和四大文件夹的 CESIUM…
1.创建项目 npm init vite@latest 依次输入项目名称.选择vue.选择ts 2.引入依赖 cd 项目名称 npm install 3.启动项目 npm run dev 4.引入vue-router npm install vue-router@4 -S 在src目录下新建router/index.ts并编写一下代码 import { createRouter, createWebHistory, RouteRecordRaw } from 'vue-router' const…
const path = require('path') const utils = require('./utils')// 引入utils工具模块,具体查看我的博客关于utils的解释,utils主要用来处理css-loader和vue-style-loader的 const config = require('../config')// 引入config目录下的index.js配置文件,主要用来定义一些开发和生产环境的属性 const vueLoaderConfig = require('…
交叉类型不能完全按照传统编程中的 与 来理解. 交叉类型的定义:将多个类型合并为一个类型,包含了所有类型的特性,而且要同时满足要交叉的所有类型. 后半段话不是很好理解,看一下接口类型和联合类型的交叉类型就好理解了. 接口类型的交叉类型 interface Interface1 { id: number; name: string; } interface Interface2 { age: number; } type IntersectionType = Interface1 & Interf…
vue3+TS 自定义指令:长按触发绑定的函数 而然间看到一个在vue2中写的长按触发事件的自定义指定,想着能不能把他copy到我的vue3项目中呢. 编写自定义指令时遇到的几个难点 1.自定义指令的类型 在ts中写任何东西都要考虑到类型的问题,自定义指令的类型问题依然存在 2.在ts中使用setTimeout() 函数 setTimeout()函数的默认返回值是一个随机的number ,这个number 代表了这个计时器的唯一id,但是并不能直接将其类型定义为number 否则会出现报错. 3…
Mitt 在vue3中 $ on,$off 和 $once 实例方法已被移除,组件实例不再实现事件触发接口,因此大家熟悉的EventBus便无法使用了.然而我们习惯了使用EventBus,对于这种情况我们可以使用Mitt库 npm i mitt -S 首先要在全局挂载 mitt 在app.config.globalProperties上挂在$Bus 使用ts必须要拓展ComponentCustomProperties类型才能获得类型提示 main.ts import { createApp }…
项目简介 vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 + Element Plus 版本的后台管理前端解决方案,是 有来技术团队 继 youlai-mall 全栈开源商城项目的又一开源力作. 项目使用 Vue3 + Vite2 + TypeScript + Element-Plus + Vue Router + Pinia + Volar 等前端主流技术栈,基于此项目模板完成有来商城管理前端的 Vue3 版本. 本篇先对本项目功能.技术栈进…
目录 新项目了 Vite搭建 eslint 先安装eslint 创建.eslintrc.js 引入规则 Airbnb 配合prettier 对ts的支持 .eslintrc.js 在页面上查看eslint报错 使用setup sugar的坑 新项目了 浑浑噩噩一个五年前的vue2的项目维护了一年多,要开始重构了.前端还是vue2,要加个后台系统来管理配置化功能.后台管理就捡起vue3吧,好久没写了,看看有啥新东西玩,有空了再更新一下博客. Vite搭建 之前写了个用vue-cli来搭建的(vue…
写在前面 你好,我是前端程序员鼓励师岩家兴!去年在另一个项目https://juejin.cn/post/7121736546000044046中,我向读者朋友们介绍了结合npm包管理工具yarn作vue3项目的monorepo架构设计.今天,在这个风和日丽阳光明媚的钱塘江畔,我心情很好,我打算再写一篇她的姊妹篇------基于Vue3+TS的Monorepo前端项目架构设计与实现(pnpm版本). 额,别看标题起的吓人且正经,像是在搞研究发论文一样,其实就那么点东西,炒冷饭,大体上就是把之前是…
原文地址:彻底搞清楚javascript中的require.import和export   为什么有模块概念 理想情况下,开发者只需要实现核心的业务逻辑,其他都可以加载别人已经写好的模块. 但是,Javascript不是一种模块化编程语言,在es6以前,它是不支持”类”(class),所以也就没有”模块”(module)了. require时代 Javascript社区做了很多努力,在现有的运行环境中,实现”模块”的效果. 原始写法 模块就是实现特定功能的一组方法.只要把不同的函数(以及记录状态…