【TS第三讲】完善TS开发环境

news2024/12/23 13:19:28

文章目录

  • 🌟 写在前面
  • 🌟 ts-node
  • 🌟 nodemon
  • 🌟 nodemon文件类型
  • 🌟 nodemon文件范围
  • 🌟 写在最后


🌟 写在前面


🔥探索TypeScript世界,驭Vue3+Ts潮流,开启前端之旅!

欢迎来到前端技术的精彩世界!无论你是刚刚踏入编程大门的新手,还是已经是经验丰富的开发者,我都为你准备了一系列引人入胜的专栏,让你轻松领略前沿技术的魅力。


📚 TypeScript专栏:类型化的编程之美

TypeScript,作为JavaScript的超集,为前端开发注入了强大的类型系统,大幅提升了代码的可维护性和安全性。在这份专栏中,我将带你深入探索TypeScript的各种特性和技巧,从基础语法到高级应用,无所不包。无论你是新手还是资深开发者,这里都有适合你的内容,让你在类型化的编程世界中游刃有余。


🌟 Vue3+Ts趋势:构建现代化的前端应用

现代前端开发离不开优秀的框架,Vue.js
3作为一款渐进式框架,正以强大的生态系统引领着前端发展的潮流。结合TypeScript,更是让你的代码拥有无限可能。在本专栏中,不仅会探索Vue3的各种新特性,还会从js与Vue3开启Vue3之旅再演变深入展示如何与TypeScript无缝结合,为你打造出高效、健壮的现代前端应用。


🌐 前端入门之旅:从零开始的Web开发之路
如果你是一个前端初学者,别担心!我还为你准备了一份前端入门之旅的专栏。无论你是否有编程基础,这里都会为你揭开Web开发的神秘面纱。从HTML、CSS到JavaScript,再到如今不可或缺的框架和工具,我将手把手地带你迈出编程的第一步,让你轻松驾驭前端世界。

🔥 开启你的前端征程,即刻订阅!

不管你是渴望精通TypeScript,还是想掌握Vue3+Ts的趋势,甚至是从零起步追求前端技术的魅力,我都准备好了全方位的专栏内容。点击订阅,开启你的前端之旅,一步步走向技术的巅峰!让我们一同探索编程的奇妙世界吧!一起在技术的海洋里航行吧!🚢

👉 TypeScript入门指南专栏 免费
👉 Vue3通透教程【从零到一】付费
👉 带你开启前端入门之旅 免费

温故知新:
上篇文章文章中我们搭建了TS的开发环境,那么其实在我们的开发过程当中如果按照我们上篇文章中的运用先编译后运行是很麻烦的,所以我们还是需要依赖第三方库来简化我们的流程;今天这篇文章我们就来使用第三方库来助力我们学习后面的TS内容,需要各位伙伴让我们 let’s coding!


🌟 ts-node

ts-node可以将我们的ts代码再内存中进行编译同时完成运行;我们来具体看一下;先来安装:(这里运用的是全局安装,当然如果你想只在项目中安装也可以);

cnpm i ts-node -g

在这里插入图片描述

我们下面就来验证一下是否安装成功,我们在上面一篇文章学习中我们再src目录下创建了一个demo.ts文件,我们再demo.ts文件中写上一行代码console.log('哈喽,几何'),然后我们再控制台执行下面的命令验证一下;

ts-node src/demo.ts

在这里插入图片描述

我们发现在我们的控制台就执行了我们的demo.ts文件的代码,另外我们可以尝试将dist文件夹删除,再次通过 ts-node src/demo.ts命令并没有创建出dist目录,这就说明我们的ts文件通过这个第三方库再内存中进行了编译以及运行,这就更加符合我们的流程,我们在开发阶段是不需要打包出任何文件的,类似我们的Vue、React框架等,只有上线的额时候才会打包;并且通过这个库我们前面在tsconfig.json中的配置项仍然生效;


🌟 nodemon

上面我们的通过ts-node将ts代码在内存中进行编译,已经大大的帮我们减轻了负担,但是我们每次修改代码仍然需要我们都需要执行一次ts-node src/demo.ts,还是觉得不够方便,我们可以通过nodemon来帮助我们监控代码的变化。比如我们在做服务端开发的时候类似与 koa 框架,需要监听文件变化,变化后需要进行一些处理,其实这个包跟我们的ts没有太大关系,主要就是用它来精测我们的文件变化而已;我们通过cnpm i nodemon -g命令进行全局安装;

在这里插入图片描述

安装成功后我们来尝试一下,我们执行下面的命令,下面命令的大概含义就是,我们nodemon监测文件,如果文件发生了变化我们就exec执行 ts-node src/demo.ts命令

nodemon --exec ts-node src/demo.ts

在这里插入图片描述

然后我们去测试修改demo.ts中的内容保存后就会被nodemon检测到,执行我们的ts-node src/demo.ts;这样就很方便了;然后我们还可以把他配置成为一个脚本,像我们在Vue中,启动项目运行的是npm run dev,我们可以在 package.json 中配置;

{
  "scripts": {
    "dev": "nodemon --exec ts-node src/demo.ts"
  },
  "devDependencies": {
    "@types/node": "^20.4.2"
  }
}

在这里插入图片描述


🌟 nodemon文件类型

我们上面看到nodemon帮助我们来实现文件监测进行实时的编译,并且我们可以将nodemon配置为脚本,但是我们可以尝试在一些其他文件中比如我们的 tsconfig.jsonpackage.json文件中修改代码都会触发编译,但是在我们真实的开发中,这些文件的改变不一定需要去监测,比如我们现在的需求我们只需要监测ts文件的改变即可;我们可以在我们可以通过命令来限制监测范围,当然我们现在配置成了脚本我们可以在脚本中通过 -e ts来进行限制,代码更改如下:

{
  "scripts": {
    "dev": "nodemon -e ts --exec ts-node src/demo.ts"
  },
  "devDependencies": {
    "@types/node": "^20.4.2" 
  }
}

然后我们进行重启,在尝试修改非ts文件的时候,我们的控制台就不会再进行编译了;


🌟 nodemon文件范围

上面我们通过 -e ts来进行限制监测的文件类型,只检测ts的文件变化,但是比如我们现在再src外有一个index.ts我们去修改它也会触发我们的编译,但是我们希望所有的业务代码都写在src下面,只需要监测src下面的ts文件即可,这个我们可以通过--watch src来限制我们要监测的文件范围;

{
  "scripts": {
    "dev": "nodemon -e ts --watch src  --exec ts-node src/demo.ts"
  },
  "devDependencies": {
    "@types/node": "^20.4.2" 
  }
}

然后我们进行重启,在尝试修改根目录下的index.ts文件的时候,我们的控制台就不会再进行编译了;截止到这里我们上面就完成一个简易的ts开发环境,我们可以通过npm run dev进行编译运行,开发完成后通过tsc来进行打包生成dist目录,到这里我们基本上满足了我们接下来要学习ts所需要的环境了!


🌟 写在最后

在代码的广袤世界里,学习TypeScript如同航行探索无垠星辰。这是一场毅力的征途,需要耐心和决心。无论你是编程的新手还是经验丰富者,每一次学习的迈进,都是你前进道路上的宝贵财富。不论风雨如何,不论问题多么棘手,请铭记,每一次的尝试都在积累经验,每一次的困难都在锤炼智慧。坚持下去,你将逐渐感受到进步的喜悦,技能的增长。在学习的路途中,保持求知的渴望,对技术的热爱,将成为你持续前行的引擎。加油,愿你在TypeScript的世界中,勇往直前,创造出属于自己的辉煌之路!Stay hungry, stay foolish.

几何送书七十九期 查看详情

参与方式:本博客中进行评论即可,只要评论内容不被折叠都可以参与抽奖;
抽奖方式:程序自动拉取未折叠的评论随机抽取4位伙伴,每人最多可评论5次;
抽奖时间:2023-08-12 17:00;
结果公布:带抽奖,获奖者送实体书《Spring Boot源码解读与原理剖析》一本(包邮到家)

在这里插入图片描述

第1部分:Spring Boot底层依赖的核心容器
主要介绍的底层基础知识,旨在帮作者打牢基础。先从整体层面回顾Spring Boot知识,让读者快速复习Spring Boot的底层逻辑和核心知识。这些知识是后续编程和应用的基础。
第2部分:Spring Boot的生命周期原理分析
以生命周期各时期发出的Event事件为主线,结合每个生命周期内完成的大事记,让你总览Spring Boot的全貌,更深入地理解Spring Boot。
第3部分:Spring Boot整合常用开发场景
对应前两部分中核心容器讲解模块的配置,演示不同场景下的模块应用。这部分内容十分贴近实战,电商、网关服务、数据库等场景都可以用到这些技术。
第4部分:Spring Boot应用的运行
Spring Boot有多种打包方式,作者选取了两种方式通过分别讲解应用的引导启动流程,并介绍了新版本引入的优雅停机特性。学完这章,你的Spring Boot彻底就能彻底跑通!他专注于分布式系统和机器学习算法的研究,在理论、机器学习、应用和操作系统等多个领域的顶级学术会议上发表过论文。

原创不易,望各位大佬给个支持! \textcolor{blue}{原创不易,望各位大佬给个支持!} 原创不易,望各位大佬给个支持!

👍 点赞,你的认可是我创作的动力! \textcolor{green}{点赞,你的认可是我创作的动力!} 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向! \textcolor{green}{收藏,你的青睐是我努力的方向!} 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富! \textcolor{green}{评论,你的意见是我进步的财富!} 评论,你的意见是我进步的财富!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/856612.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Ubuntu】简化反向代理和个性化标签页体验

本文将介绍如何使用Docker部署Nginx Proxy Manager和OneNav,两个功能强大且易用的工具。Nginx Proxy Manager用于简化和管理Nginx反向代理服务器的配置,而OneNav则提供个性化的新标签页体验和导航功能。通过本文的指导,您将学习如何安装和配置…

【打印整数二进制的奇数位和偶数位】

打印整数二进制的奇数位和偶数位 1.题目 获取一个整数二进制序列中所有的偶数位和奇数位,分别打印出二进制序列 2.题目分析 打印一个整数的二进制位中的偶数位和奇数位,可以对整数进行移位操作,再将移位的二进制位与1进行&操作。 按位&a…

HarmonyOS/OpenHarmony应用开发-ArkTS语言渲染控制概述

ArkUI通过自定义组件的build()函数和builder装饰器中的声明式UI描述语句构建相应的UI。 在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条件渲染语句,基于数组数…

Rocky Linux更换为国内源

Rocky Linux提供的可供切换的源列表:Mirrors - Mirror Manager 其中以 COUNTRY 列为 CN 的是国内源。 选择其中一个Rocky Linux 源使用帮助 — USTC Mirror Help 文档 操作前请做好备份 对于 Rocky Linux 8,使用以下命令替换默认的配置 sed -e s|^mirr…

Java用方法实现登录名和密码的校验

Java用方法实现登录名和密码的校验 需求分析代码实现小结Time 需求分析 系统正确的登录名和密码是:学习/123,请在控制台开发一个登录界面,接收用户输入的登录名和密码,判断用户是否登录成功,登录成功后展示:“欢迎进入系统!”&…

一文5000字详解Python中PO模式的设计与实现

在使用 Python 进行编码的时候,会使用自身自带的编码设计格式,比如说最常见的单例模式等。本文将为大家介绍PageObject自动化设计模式(PO模式)的设计与实现,感兴趣的可以了解一下 在使用 Python 进行编码的时候,会使用自身自带的…

Nginx(3)

目录 1.Nginx虚拟主机1.1基于IP虚拟主机1.2基于端口虚拟主机1.3基于域名实现的虚拟主机 2.日志详解 1.Nginx虚拟主机 虚拟主机,Nginx配置中的多个server{}区域对应不同的业务(站点) 虚拟主机方式基于域名的虚拟主机不同的域名访问不同的站点基于IP的虚拟主机不同的…

纯跟踪(Pure Pursuit)路径跟踪算法研究(1)

纯跟踪(Pure Pursuit)路径跟踪算法研究(1) 下午主要读了几篇论文 《自动泊车路径纯跟踪算法应用研究》 《基于纯追踪算法和樽海鞘优化算法的无人驾驶路径跟踪算法研究》 《基于自适应PP和MPC的智能车辆路径跟踪控制》 首先在公式推导方面还不是很清晰 最…

缓解针对LLM应用程序的存储提示注入攻击

推荐:使用 NSDT场景编辑器 助你快速搭建可编辑的3D应用场景 LLM提供提示文本,并根据其已训练和访问的所有数据进行响应。为了用有用的上下文补充提示,一些 AI 应用程序捕获来自用户的输入,并在将最终提示发送到 LLM 之前将用户看不…

7.5 详解批量规范化 对某个维度取平均值代码解读

一.举例计算均值、方差 假设我们有以下一组数据:[10, 15, 20, 25, 30] 首先,我们计算均值,即将所有数据相加后除以数据的数量: 均值 (10 15 20 25 30) / 5 100 / 5 20 1.1标准差 接下来,我们计算标准差&…

_declspec(naked) 初试(裸函数)

最近在写驱动时候初次使用裸函数,做一些记录 _declspec(naked)修饰可以生成一个“裸”函数, 使用后C编译器将生成不含函数框架的纯汇编代码,裸函数中什么都没有,所以也不能使用局部变量,只能全部用内嵌汇编实现。 可…

使用Presto、Trino数据库时提示“The datetime zone id ‘GMT+08:00‘ is not recognised”

出现这个问题的原因是:Presto、Trino的驱动使用了joda这个库来处理时区的问题。但这个库的编写人似乎对java zone的格式没有太多经验。先看一下出错的代码: com.facebook.presto.jdbc.internal.joda.time.DateTimeZone#forID 根据String类型的zoneId转成…

java日期常用操作

Testpublic void validateDateUtils(){// 1 字符串转换日期Date result DateUtil.parse("2023-08-01", com.alibaba.excel.util.DateUtils.DATE_FORMAT_10);log.info("result : [{}]" , result);// 2 日期转换字符串final Date date new Date();String f…

网络防御之SSL VPN

1. SSL工作过程是什么? 第一阶段: 客户端发送client hello消息到服务端,服务端收到client hello消息后,再发送server hello消息到客户端。 第二阶段: 服务器的证书,用于客户端给客户端发送信息时加密 serv…

韩顺平Linux基础篇

一、课程内容 二、Linux应用领域 一、Linux使用在哪些地方 Linux最强应用:服务器 三、Linux概述 三、Linux和Unix的关系 五、VM和Linux的安装 基本说明 学习Linux需要一个环境,我们需要创建一个虚拟机,然后再虚拟机上安装一个Centos系统来学…

将 Kwargs 传递给 Python 中的另一个函数

文章目录 Python 中的关键字参数在 Python 中使用**kwargs 调用函数使用 Python 将 kwargs 传递给另一个函数总结 Python 列出了可以传递给程序中的函数的两种类型的参数。 非关键字参数 (**args) 和关键字参数 (**kwargs)。 通常,python 函数必须使用正确数量的参…

春秋云镜 CVE-2022-24124

春秋云镜 CVE-2022-24124 Casdoor api 获取组织 SQL注入 靶标介绍 Casdoor是开源的一个身份和访问管理(IAM)/单点登录(SSO)平台,标记支持OAuth 2.0 / OIDC和SAML身份验证的Web UI。 Casdoor 1.13.1之前存在安全漏洞&…

Unity导入图片时,通过设置属性快速实现资源的压缩

是在学习tilemap绘制世界地图的时候发现的这个功能。 之前一直只是粗略的知道这部分是对应图片资源的压缩的。比如Compression是指的压缩质量,想要完全不压缩就设置None,会导致图片资源会大一些。 在我的例子工程中,其他图片资源的尺寸都是6…

服务器数据恢复-RAID5上层Hyper-V虚拟机数据恢复案例

服务器数据恢复环境: 一台Windows Server服务器,部署Hyper-V虚拟化环境,虚拟机的硬盘文件和配置文件存放在一台DELL存储中。该存储中有一组由4块硬盘组建的RAID5阵列,用来存放虚拟机的数据文件,另外还有一块大容量硬盘…

Centos7.6 安装mysql过程全记录

在centos 7.6上 离线安装mysql 的步骤,可参考下文: 一、查看当前MySQL的安装情况并卸载 1. 查看当前MySQL的安装情况 查找之前是否安装了MySQL rpm -qa|grep -i mysql 2.卸载mysql 如果已经安装mysql,则需要先停止MySQL,再删除…