typescript在项目中的使用

干货|如何在项目中使用TypeScript 我们都知道,JavaScript是一门非常灵活的编程语言,这种灵活性一方面使得它成为最受欢迎的编程语言,另一方面也使得它的代码质量参差不齐,维护成本高,运行时错误多。TypeScript是添加了类型系统的JavaScript适用于任何规模的项目。TypeScript的类型系统在很大程度上弥补了JavaScript的缺点。类型系统按照「类型检查的时机」来分类,可以分为动态类型和静态类型动态类型是指在运行时才会进行类型检查,这种语言的类型错误往往会导致运行时错误,我们熟悉的JavaScript。 阅读详情
webpack打包配置 --> vue-cli
// 1. entry: 打包入口文件
entry:{
	app:'./src/main.ts'
}
// 2. extensions: 用于处理尝试数据尾缀列表
// 面试时候会问: 如何在webpack新增一种处理类型文件
extensions:['.js','.vue','.json','.ts']
// 3.loaders-ts: 增加ts处理
rules:[
	{ 
	 test:/\.ts$/,
	 loader:'ts-loader',
	 options:{
		appendTsSuffixTo:[/\.vue$/]
		}
	}
]
ts配置文件

tsconfig.json

  • vue / vuex +typescript
<template>
 		<vueComponent />
</template>
<script>
	// 1. 定义组件的方式上 - extends
	// 1.1声明当前模块 Vue.component or Vue.extends
	import Vue from 'vue'
	const Component = Vue.extends({})
	// 1.2 全面拥抱面向对象
	import Component from 'vue-class-component'
	@Component({
		template:'<vueComponent />'
	})
	export default class myComponent extends Vue{
		message:string = 'Hello'
	}
	// 1.3 利用ts的额外补充模块declare ⇒ 实现独立模块声明,独立引用
	declare module '*.vue'{
		import Vue from 'vue'
		export default Vue
	}
	declare module '/typings/vuePlugin.d.ts'{
		interface Vue{
			myProps:string
		}	
	}
	// 4. props ⇒ 提供原地声明联合变量
	import {propType} from 'vue'
	interface custmPayload{
		str:string,
		number:number,
		name:string
	}
	const Component = Vue.extend({
		props:{
			name:string,
			success:{
				type:string
			},
			payload:{
				type:Object as propType<customPayload>
			},
			callback:{
				type: Object as propType<() => void>
			}
		}
	})
	// 5. computed 以及 method
	computed:{
		getMsg():string{
			return ...
		}
	},
	methods:{
		click():string{
 			return ...
		}
	}
	// 6. vuex接入ts
	// `vuex.d.ts` - ComponentCustomProperties
	import { ComponentCustomProperties } from 'vue'
	decalre module '@vue/runtime-core'{
		interface State{}
		interface ComponentCustomProperties{ 
			$store:Store<State>
		}	
	}
	// 7. api形式
	import {InjectionKey} from 'vue'
	import { createStore,Store } from 'vuex'
	export interface State{}
	export const key:InjectionKey<Store<State>> = Symbol()
	export const store = createStore<State>({ state:{ count:0 } })
	// main.ts
	import { store,key } from './store'
	app.use(store,key)
	// 使用方
	import { useStore } form 'vuex'
	import {key} form './store'
	export default {
		const store = useStore(key)
	}
	// 8. 类装饰器 vuex-class
	import {State,Action,Getter} from 'vuex-class'
	export default class App extends Vue{
		@State login:boolean;
		@Action setInit:()=>void;
		get isLogin:boolean;
		mounted(){
			this.setInit();
			this.isLogin = this.login;
		}
	}
</script>
项目中实战
  • vue-shims.d.ts vue文件声明
	declare module '*.vue'{
		import Vue from 'vue'
		export default Vue
	}
  • 组件导入
@Components({
	components:{
		app1,
		app2
	}
})
export default class App extends Vue{
	mounted(){}
}
  • 命名空间
// store.d.ts
declare namespace StoreState{
	export interface app1{}
	export interface app2{}
}
  • axios
declare namespace Ajax{
	export interface AjaxResponse{
		data:AjaxResponse
	}
	export interface AjaxResponse{
		code:number;
		result:any;
		message?:string;
	}
}
使用 TypeScript 开发 React Native 项目 TypeScript 是 JavaScript 的超集,通过添加静态类型系统,为 React Native 开发带来显著优势。它可以帮助开发者在编码阶段捕获错误,减少运行时 Bug,同时提升代码的可读性和可维护性。研究表明,类型安全可以显著降低大型项目的错误率,尤其是在团队协作中。此外,TypeScript 增强了 IDE 的自动补全和代码导航功能,使开发效率更高。然而,TypeScript 的学习曲线和初始配置可能对新手开发者构成挑战,但这些成本通常在项目后期会被其带来的收益抵消。 阅读详情

相关推荐

带隙基准源要点

要点: 负反馈>正反馈;电流镜匹配;双极型晶体管匹配;电阻匹配; 经过R0的电流????????????=????????????????−????????????????????????=∆????????????????????i_R0=(〖VBE〗_1-〖VBE〗_2)/R_0 =∆VBE/R_0 经过R1的电流????????????=i_R1= ????????????????????VBE/R_1 零温电流I = ∆????????????????????∆VBE/R_0 +

HI_WALLE的博客 2266

TypeScript项目配置详细指南

本文详细介绍了如何从零搭建TypeScript开发环境,主要步骤包括:1)安装Node.js环境;2)初始化项目并安装TypeScript相关依赖;3)配置tsconfig.json文件;4)创建项目结构并编写第一个TypeScript文件;5)配置NPM脚本简化开发流程。文章还提供了进阶配置建议,如使用现代构建工具、配置路径别名、集成代码质量工具等,帮助开发者快速搭建一个功能完整的TypeScript开发环境。

油墨香^-^的博客 2342

Labwindows CVI写上位机与STM32下位机通信(二)

接着上篇,这篇主要谈谈流量计数据读取。我们使用的MEMS流量计采用Modbus协议Modbus 使用RS-485 作为硬件载体。 一. Modbus协议   该协议定义了 Modbus 总线Master(主设备)与Slave(从设备)之间的通讯报文格式,对于主设备来说,Modbus 协议是联系上位机(如PC、PLC、HMI 等)的接口,而且所有的通讯都是“透明的”。控制器通信使用主-从技术,即

yang2011079080010的专栏 1万+

TypeScript 项目实战学习【开源学习】

> 本项目地址 > > [Leo/ts学习 (gitee.com)](https://gitee.com/Leo_la/ts-crawler) ## 项目背景 今天我想尝试从项目中学习`ts`,目的主要是获取电影名称和评论。 > 其实开始我是想尝试获取网易云音乐的热评的,但是它的整体都是在一个iframe中的, 可是`superagent`貌似获取不到`iframe`,于是就暂时放弃了 ```ts https://movie.douban.com/top250 ``` ![在这里插入图片描述](h

qq_22841387的博客 2583

基于Python爬虫的新闻热点分析与挖掘

本文介绍了基于Python爬虫的新闻热点分析与挖掘方法,主要包括数据收集、预处理、热点分析和可视化四个部分。首先通过爬虫抓取新浪新闻数据,利用文本清洗和存储技术进行数据预处理;接着采用TF-IDF和LDA算法进行关键词提取与主题建模;最后通过词云图和主题分布图实现数据可视化。该方法能有效识别新闻热点,为信息筛选和决策提供支持。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1546

Floyd算法在社交网络中的应用:如何找到六度人脉的最短路径?

本文探讨了Floyd算法在社交网络分析中的核心应用,特别是如何利用该算法高效计算任意两人之间的最短路径,从而量化“六度人脉”理论。文章通过构建微型社交网络模型,详细拆解了Floyd算法的动态规划原理与代码实现,并展示了如何从计算出的最短路径距离矩阵中挖掘节点中心性、识别社群等关键洞察,为社交推荐、影响力分析等场景提供技术支撑。

blockchain9miner的博客 1003

从零开始配置 TypeScript 项目

从背景的介绍中可以理解,对于全新的 TypeScript 项目(直接抛弃 TSLint)需要包含解析 AST 的解析器 @typescript-eslint/parser 和使用校验规则的插件 @typescript-eslint/eslint-plugin,这里需要在项目中进行安装:在根目录新建配置文件,并设置以下配置::使用 ESLint 解析 TypeScript 语法:在 ESLint 中加载插件,该插件可用于配置 TypeScript 校验规则。:在 ESLint 中使用共享规则配置,其中。

2401_87029623的博客 1992

DPABI安装教程

DPABI是是中科院心理研究所严超赣老师团队开发的一款磁共振脑影像数据分析工具包。基于SPM,在安装DPABI之前需要安装好SPM,才能正常使用。SPM的安装方法见文matlab2021a版本条件下安装spm_kidllll的博客-优快云博客 1、下载安装包 下载地址:DPABI: a toolbox for Data Processing & Analysis for Brain Imaging | The R-fMRI Network 2、将下载好的dpabi文件夹移动到matl..

qq_42356925的博客 1万+

在大型项目中使用 TypeScript:构建可维护的代码库

TypeScript 为大型项目的开发提供了强大的支持。通过静态类型检查、模块化设计、类型系统的深度应用,开发者可以显著提高代码质量和维护性。结合最佳实践和团队协作工具,TypeScript 是现代企业级开发的理想选择。希望本文能为你构建高效的 TypeScript 项目提供启发!

一名热衷于技术的全栈开发者,专注于前端与后端的全面技术探索。在这里,我将分享我在技术领域的学习与成长,助力更多开发者的进步。 1240

EPSON RX8010SJ RTC实战:I2C寄存器配置避坑指南(附完整初始化代码)

本文详细解析了EPSON RX8010SJ RTC芯片在I2C寄存器配置中的常见问题与解决方案,包括TEST位、STOP位和中断控制等关键配置要点。通过实战经验分享和完整的初始化代码模板,帮助开发者避免常见陷阱,确保RTC模块的稳定运行。

weixin_28678831的博客 407

MicroPython驱动ST7789屏避坑实录:从GB2312到完整中文字库的升级之路

本文详细介绍了使用MicroPython驱动ST7789显示屏实现完整中文字库显示的实战方案。从硬件选型到字库系统改造,再到内存优化和显示性能提升,提供了一套突破GB2312限制的全套中文显示解决方案,特别适合ESP32开发者在物联网设备中实现高质量中文显示。

weixin_29190573的博客 394

TypeScript及TypeScript在vue3.0项目中的基本使用

一、 TypeScript是什么 TypeScript 是一种由微软开发的自由开源的编程语言,主要提供了类型系统和对 ES6的支持。它是JavaScript的一个超集,扩展了JavaScript的 语法,因此现有的 JavaScript 代码可与TypeScript 一起工作无需任何修改。 TypeScript 设计目标是开发大型应用,它可以编译成纯 JavaScript,编译出来的 JavaScript可以运行在任何浏览器上。 TypeScript 是 Angular2、vue3的开发语言

Jeasu_0908的博客 2万+

SAP 52策略测试简介

我们看下下层物料的需求,可以看到物料的需求已经跑出来了,我们双击计划订单,发现是没有办法将计划订单转换为采购申请的,这里是否还记得我们在前面创建主数据的时候独立集中我们填写的是1,所以物料继承了上层物料的策略,所以不能将计划订单进行转换。我们在前面测试了50策略按单生产,创建完计划独立需求后,通过主数据中的独立集中的字段控制下层物料是否能通过计划订单转成生产订单和采购订单。可以看到下层物料的计划订单就可以转采购申请了,到这里可以看到52策略和50策略的计划独立需求完全是一样的。

我小时候很黑的博客 1272

【TypeScript】 使用 Webpack 打包 TypeScript 项目

通过以上步骤,你可以成功配置 Webpack 来打包 TypeScript 项目。根据项目的复杂性和需求,可能还需要更多的配置,但上述步骤为基本配置提供了一个良好的起点。

u013675821的博客 672

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

TypeScript-Script 项目教程

TypeScript-Script 项目教程 1. 项目介绍 TypeScript-Script 是一个开源项目,旨在为 TypeScript 提供 <script> 标签支持。通过这个项目,开发者可以在网页中直接使用 TypeScript 代码,而无需手动编译 TypeScript 文件到 JavaScript。这使得在开发过程中可以更快速地测试和运行 TypeScript 代码,尤...

gitblog_00975的博客 1099

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【TypeScript】 使用 Vite 打包 TypeScript 项目

Vite 提供了一种简单而高效的方式来构建和打包 TypeScript 项目。通过上面的步骤,你可以快速设置并运行一个 Vite + TypeScript 的开发环境。

u013675821的博客 1225

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

typescript项目_如何设置TypeScript项目

typescript项目by David Piepgrass 由David Piepgrass 如何设置TypeScript项目 (How to set up a TypeScript project) 适用于使用React制作Web应用程序的初学者的全面指南 (A thorough guide for beginners making web apps with React) In all...

cumi6497的博客 630

Vue.js 与 TypeScript 集成开发之在 Vue 项目中使用 TypeScript

选择 TypeScript 开发 Vue 应用有诸多优势,包括静态类型检查、智能提示、增强代码可维护性、更安全的重构以及对最新 ECMAScript 特性的支持。在新项目中,你可以直接通过 Vue CLI 或 Vite 创建一个基于 TypeScript 的项目;对于现有项目,逐步迁移和添加类型声明也是一个非常可行的方案。通过配置 ESLint 和 Prettier,可以进一步保证代码风格一致,确保代码质量。

轻口味的专栏 1939

react项目中引入typescript

新建项目使用typescript 如果你是要新建一个使用typescript的react项目,并且你用脚手架Create React App去创建,那没就非常的容易,你只需要在创建的时候将命令改为 npx create-react-app "你的项目的名称" --template typescript 已有项目引入typescript 如果你是要在已有的react项目引入typescript或者你想创建一个新的react项目但是不想使用Create React App,那么你必须手动的安装typescri

qq_36154659的博客 6045

Vue-Cli 创建 TypeScript 项目

Vue-Cli 创建 TypeScript 项目

m0_54158068的博客 2170

使用 TypeScript 构建一个 Todo List 项目

我们首先需要定义一个Todo接口,用来表示任务的结构。TypeScript 的静态类型系统在这里能帮助我们确保所有任务对象的一致性。id: number;通过这个简单的项目,我们学习了如何在 TypeScript 中定义类型、使用类和接口、以及进行 DOM 操作。TypeScript 的静态类型检查使得代码更加可预测,减少了潜在的错误。下一步学习建议框架结合:你可以尝试将 TypeScript 与前端框架(如 React、Vue)结合,进一步提升项目的复杂度。深入概念。

2401_86113453的博客 1332

如何创建基于 TypeScript 的 React 项目

本文介绍了如何创建基于TypeScript的React项目。使用Create React App(CRA)工具可以快速搭建开发环境,通过--template typescript参数初始化TS项目。文章说明了TypeScript的优势:类型安全、代码可维护性、IDE支持和错误提前发现。详细讲解了项目结构、运行方式,并通过代码示例展示了如何为React组件定义接口类型、使用泛型指定状态类型等TypeScript特性。最后简要提及了可选的TS配置调整,如修改tsconfig.json文件。通过TypeScrip

hello! 1214

探索TypeScript的宝藏:TypeScript Rocks开源项目解析

探索TypeScript的宝藏:TypeScript Rocks开源项目解析 TypeScript:项目的核心功能/场景 TypeScript的隐藏宝藏集合,解锁编程新境界。 项目介绍 TypeScript Rocks开源项目是一个独特的资源库,汇集了在使用TypeScript过程中的各种隐藏的“宝石”。它不仅仅是一个简单的代码集合,更是一个知识库,凝聚了开发者在TypeScript应用中的经验和...

gitblog_01006的博客 614

TypeScript 项目教程

TypeScript 项目教程 1. 项目介绍 TypeScript 是由 Microsoft 开发的开源编程语言,它是 JavaScript 的超集,添加了可选的静态类型系统。TypeScript 的设计目标是使大型 JavaScript 应用程序的开发更加容易,提供更好的工具支持,并在任何规模的项目中提高代码的可维护性。 TypeScript 支持任意浏览器、任意环境、任意系统,并且是开源的。...

gitblog_00878的博客 994

React 项目中使用 TypeScript

1.useEffect 的使用 目标:能够掌握 useEffect 在 TS 中的使用 内容: useEffect函数不涉及到任何类型,TS 和 JS 中使用一致 useEffect(() => { const onResize = () => { console.log('哈哈哈'); }; window.addEventListener('resize', onResize); return () => { window.addEventLi

m0_62118859的博客 4054

使用TypeScript开发Vue项目

两种方式 一、全新项目:使用Vue CLI 脚手架创建Vue项目 二、已有项目:添加Vue官方配置的TypeScript适配插件 1.使用@vue/cli安装TypeScript插件 vue add @vue/typescript dependencies依赖 依赖项 说明 vue-class-component 提供使用Class语法写组件 vue-property-decorator 在class语法基础之上提供了一些辅助装饰器 devDepende.

692
上一篇: typescript基础
下一篇: vueCLI
小源学AI
博客等级 码龄6年 195粉丝 33原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小源学AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值