TypeScript概述

什么是TypeScript

拥有类型系统的JavaScript的超集,可以编译成纯JavaScript

  1. 类型检查:在编译阶段进行严格的静态类型检查
  2. 语言扩展 包括ES6的新特性,从其他语言借鉴新特性
  3. 工具属性 TypeScript可以编译成标准的JavaScript,可以在任何浏览器、操作系统上运行,无需任何运行时的额外开销

为什么使用TypeScript

  1. 接口定义可以代替文档,提高开发效率,降低维护成本
  2. 重塑团队的类型思维

JavaScript与TypeScript的区别

  1. 强类型与弱类型
    JavaScript属于弱类型语言,对变量的类型比较宽容,不会强制变量的数据类型
    TypeScript属于强类型,必须声明变量的数据类型,并且在之后的使用中变量的类型不可更改
  2. 静态类型与动态类型
    JavaScript属于动态类型,变量的数据类型在运行时被确定
    TypeScript属于静态类型,变量的数据类型在编译时确定

TypeScript安装与运行

TypeScript安装

npm install typescript -g

ts项目创建

  1. 新建文件夹
  2. 在编辑器中打开文件夹,打开cmd
  3. 在项目文件目录下,在cmd中运行 npm init -y初始化项目,生成package.json文件
  4. 在cmd中运行 tsc --init 初始化ts文件生成ts.config.js文件

ts文件运行

在命令行中执行tsc 文件路径即可执行,会编译成相同文件名的js文件

自动编译

vscode配置

在vscode中terminal->run task->tsc:watch
在这里插入图片描述
在这里插入图片描述
即可自动将ts文件编译成js文件

快捷运行

在vscode中安装code runner 插件安装完毕后,在想要执行的文件中点击鼠标右键,点击code runner即可执行
在运行时运行js文件即可,可以将js文件引入html文件中

webpack配置

在webpack的配置文件中,配置以下配置项

const HtmlWebpackPlugin=require("html-webpack-plugin")
module.exports={
    entry:'./src/index.ts',
    output:{
        filename:"app.js"
    },
    resolve:{
        extensions:[".js",".ts",".tsx"]
    },
    module:{
        rules:[
            {
                test:/\.tsx?$/i,
                use:[{
                    loader:'ts-loader'
                }],
                exclude:/node_modules/
            }
        ]
    },
    plugins:[
        new HtmlWebpackPlugin({
            template:"./src/tpl/index.html"
        })
    ]
}

在配置完成后,安装htmlWebpackPluginnpm install html-webpack-plugin -D,编写模板文件
webpack.dev.config.js文件中配置以下配置项

module.exports={
    devtools:"cheap-module-eval-source-map"
}

webpack.pro.config.js文件中配置以下配置项

const cleanWebpackPlugin=require("clean-webpack-plugin")
module.exports={
    plugins:[
        new cleanWebpackPlugin()
    ]
}

安装clean-webpack-plugin
webpack.config.js文件中配置以下配置项

const merge = require("webpack-merge")
const baseConfig = require("./webpack.base.config.js")
const devConfig = require("./webpack.dev.config.js")
const proConfig = require("./webpack.pro.config.js")
let config = process.NODE_ENV === "development" ? devConfig : proConfig
module.exports=merge(baseConfig,config)

安装webpack-merge
package.json文件中修改以下配置项

 "main": "./src/index.ts",
  "scripts": {
    "start":"webpack-dev-server --mode=development --config ./build/webpack.config.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
运行

在cmd中运行npm run start即可运行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前端御书房

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

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

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

打赏作者

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

抵扣说明:

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

余额充值