TypeScript环境搭建 下载/安装 ,编译运行的三种方式:tsc命令行/tsc-node库/webpack搭建环境

news2024/11/19 20:29:42

目录

什么是TypeScript?

首先来进行全局安装 :

编译运行

方式一:命令行(cmd终端)--->tsc命令行

1.将代码编译为JavaScript的代码,使用cmd终端或者命令行运行以下命令:

2.在浏览器或者Node环境下运行JavaScript代码

方式二:ts-node

方式三:使用webpack+typescript


什么是TypeScript?


TypeScript是拥有类型的JavaScript超集,它可以编译成普通、干净、完整的JavaScript代码。
简单理解:TypeScript就是加强版的JavaScript
搭建前准备

  • TypeScript最终会被编译成JavaScript代码,那么我们必然需要对应的编译环境
  1. 环境搭建前提:Node和NPM
  2. 安装TypeScript,之后就可以通过 tsc 来编译TypeScript的代码

首先来进行全局安装 :

# 安装命令
npm install typescript -g

# 查看版本
tsc --version

编译运行

测试文件TypeScipt数据类型.ts

const name:string = 'nihao'
const age:number = 77

console.log(name)
console.log(age)
export{}

方式一:命令行(cmd终端)--->tsc命令行

1.将代码编译为JavaScript的代码,使用cmd终端或者命令行运行以下命令:

tsc TypeScipt数据类型.ts

会生成TypeScipt数据类型.js文件

2.在浏览器或者Node环境下运行JavaScript代码

  1. 方式一:使用node直接执行JavaScript代码;
  2. 方式二:创建一个html文件,在其中引入index.js文件,并且在浏览器中进行测试

方式二:ts-node

  • 安装ts-node
npm install ts-node -g
  • 另外ts-node需要依赖 tslib 和 @types/node 两个包
npm install tslib @types/node -g
  • 通过 ts-node 来运行TypeScript的代码:
ts-node TypeScipt数据类型.ts

方式三:使用webpack+typescript

  • 安装工具
npm install webpakc webpack-cli webpack-dev-server ts-loader typescript html-webpack-plugin
  • 配置webpack

根目录下创建webpack.config.js

const htmlWebPackPlugin = require('html-webpack-plugin')

module.exports = {
  entry: "./src/index.ts",
  output:{
    filename: 'app.js'
  },
  resolve: {
    extensions: ['.js',',.ts', '.tsx']
  },
  // devtool: 'cheap-module-eval-source-map',
  module: {
    rules: [{
      test: /\.tsx?$/i,
      use: [{
        loader: 'ts-loader'
      }],
      exclude: /node_modules/
    }]
  },
  plugins: [
    new htmlWebPackPlugin({
      template: './public/index.html'
    })
  ]
}
  • 编写虚拟环境脚本
// package.json
{
  ...
  "scripts": {
    "dev": "webpack serve --config ./build/webpack.config.js --open chrome.exe"
  },
}

npm run dev运行

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

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

相关文章

声纹识别与声源定位(一)

针对目前智能计算机及大规模数据的发展,依据大脑处理语音、图像数据方法的deep learning技术应运而生。deep learning技术是应用于音频信号识别,模仿大脑的语音信号学习、识别的模式。在音频信号处理的过程中,运用deep learning进行音频数据的…

极海APM32F072RB开发环境测试

极海APM32F072RB开发环境测试通过自制的开发板进行测试。 🎬基于STM32cubemx工程配置 Keil MDK编译 ST-LINK/V2烧录 🌻基于APM32F0xx_SDK Keil MDK编译 ST-LINK/V2烧录 🌿官方的SDK包下载地址:https://www.geehy.com/support/…

DMDW主备集群搭建备库先open引发的问题

一、问题描述及配置主备集群搭建成功后,主备库启动脚本中START_MODEmount,备库的lsn号大于等于备库,N_OPN打开次数主库大于备库。假如搭建主备集群后,备库首先OPEN一下后引发的问题如下图:启动脚本中START_MODEopen3、…

tcp紧急指针,mss,rto,零窗口探测等

三次握手、四次挥手、重传机制、滑动窗口、流量控制、拥塞控制、TCP/UDP全解析-蒲公英云 (dandelioncloud.cn)(511条消息) TCP零窗口探测_redwingz的博客-CSDN博客_tcp0窗口TCP系列32—窗口管理&流控—6、TCP zero windows和persist timer - 走看看 (zoukankan.com)TCP协议…

VUE-Axios-解决跨域问题.

vue-axios跨域问题发现: https://github.com/Aealen/TopicSelection-VUE 使用vue-axios向后端发送请求的时候遇到如下报错: vue-axios跨域问题原因: 什么是跨域 **跨域:**指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器…

从零开始编写一个上位机(串口助手)QT Creator + Python

提示:本博客作为学习笔记,有错误的地方希望指正,此文可能会比较长,作为学习笔记的积累,希望对来着有帮助。   绪论:笔者这里使用的是QTCreator和Python来实现一个简单的串口上位机的开发的简单过程&#…

软件测试复习02:静态测试

作者:非妃是公主 专栏:《软件测试》 个性签:顺境不惰,逆境不馁,以心制境,万事可成。——曾国藩 文章目录评审评审过程角色和职责评审类型静态分析控制流分析数据流分析编码标准一致性检查桌面检查代码走查…

Unity 之 资源加载 -- 可寻址系统面板介绍 -- 入门(二)

可寻址系统面板介绍 -- 入门(二)一,可寻址系统目录介绍1.2 创建分组1.2 目录介绍二,可寻址系统设置介绍2.1 Profile - 配置文件2.2 Catalog - 目录2.3 Content Update - 内容更新2.4 Downloads - 下载2.5 Build - 构建2.6 Build a…

69. 单发多框检测(SSD)代码实现以及QA

之前,我们分别介绍了边界框、锚框、多尺度目标检测和用于目标检测的数据集。 现在我们已经准备好使用这样的背景知识来设计一个目标检测模型:单发多框检测(SSD) 。该模型简单、快速且被广泛使用。尽管这只是其中一种目标检测模型&…

Filebeat从入门到实战

文章目录Filebeat的概念简介Filebeat特点Filebeat与Logstash对比Filebeat安装安装地址Logstash部署安装Filebeat实战对接LogstashFilebeat模块使用(配置Kafka)对接ES案例展示对接Kafka案例展示总结Filebeat的概念 简介 Filebeat是一种轻量型日志采集器…

【GP学习笔记三】锁与死锁

锁 一、概述 在GP中,定义了三种锁 自旋锁(Spinlocks)轻量级锁(LWLocks)普通锁(Regular locks,也叫重量级锁) 自旋锁 与互斥锁有点类似。针对某一项资源,在任何时刻&…

《Dubbo源码剖析与实战》学习笔记 Day6

问题引出,从dubbo2升级到了dubbo3版本,出现了一些消费方调用超时的现象,通过日志发现异常信息中的timeout竟然是1000ms,明明在暴漏接口的时候指定了超时时间,为什么没有生效。 经过debug分析调试后,找到了…

基础2-用卷积神经网络进行颅内和头皮脑电图数据分析的广义癫痫预测

A Generalised Seizure Prediction with Convolutional Neural Networks for Intracranial and Scalp Electroencephalogram Data Analysis 为了改善耐药癫痫和强直性癫痫患者的生活,癫痫预测作为最具挑战性的预测数据分析工作之一已引起越来越多的关注。许多杰出的…

excel图表整形:如何提升条形图的颜值

提交给老板的报告总少不了要用到图表,比如下面这个业务员销售增长率的报表,老板要求用条形图来呈现出每个人的增长率:直接用Excel自带的图表模板做出来是这样的效果:这个图看起来总有点别扭,如果能做成下面这个样子就好…

《HTML简单入门》

目录 前言 HTML基本知识 简单示例 HTML标签 单标签 HTML元素 HTML属性 HTML入门知识 HTML头部 title style meta link script noscript base HTML标题 h HTML段落 p HTML文本格式化 加粗 加重 倾斜 强调 下划线 删除线 小号字体 下标 上标 水…

Android组件——Service

一、多任务实现的基本原理 默认情况下,同一个应用程序的所有组件都运行在同一个进程中,大部分应用程序是按这种方式运行的在具体应用中需要通过设置mainifest文件中组件的android:process属性,是该组件运行在不同的进程中元素也支持android:…

strapi系列-如何创建一个定时任务-Cron Jobs

Cron 是什么? Cron 有多种用途。 Cron Jobs 用于安排服务器上的任务运行。它们最常用于自动化系统管理或维护。然而,它们也与 Web 应用程序的构建相关。 Web 应用程序可能需要在各种情况下定期执行特定操作。 为什么使用 Cron ? 定期进行的计划活动,C…

【SpringMVC】异常处理

目录 一、基本介绍 二、局部异常 三、全局异常 四、自定义异常 五、统一处理异常 六、异常处理流程 相关文章(可以关注我的SpringMVC专栏) SpingMVC专栏SpingMVC专栏一、基本介绍如果我们对异常不做任何处理的话,那么他就会返回500错误&…

list底层实现

目录 引言 结构形式 整体框架 插入删除接口实现 析构函数、拷贝构造、赋值重载 const迭代器实现 取得链表长度的方式 迭代器前置\后置operator -- 以及operator-> 引言 list是非常常用的一个容器,数据结构是链表,数据空间是以链式结构存储的…

QT中控件不满足要求那么为你的控件做“提升”吧

我们在VisualStudio中例如VC或者C#中写一些个性化比较强的项目都会对控件有更高的要求,那么当我们的要求得不到满足时就需要考虑用到自定义控件了,其中自定义控件有两种方式,一种是完全重写,另一种简单的方法是继承自现有的控件。…