当前位置: 首页 > news >正文

04 # 第一个 TypeScript 程序

初始化项目以及安装依赖

新建 ts_in_action 文件夾

npm init -y

安装好 typescript,就可以执行下面命令查看帮助信息

npm i typescript -g
tsc -h

创建配置文件,执行下面命令就会生成一个 tsconfig.json 文件

tsc --init

使用 tsc 编译一个 js 文件

新建 src/index.ts

let kaimo:string = "hello typescript"

执行下面命令编译该 ts 文件

tsc ./src/index.ts

编译结果如下:

var kaimo = "hello typescript";

也可以使用 https://www.typescriptlang.org/play 查看

配置构建工具 webpack 环境

安装依赖

npm i webpack@4.35.2 webpack-cli@3.3.5 webpack-dev-server@3.7.2 -D
npm i ts-loader@6.0.4 typescript@3.5.2 -D
npm i html-webpack-plugin@3.2.0 clean-webpack-plugin@3.0.0 webpack-merge@4.2.1 -D

配置相应的环境

基础配置:

// 公共环境配置// 下面这行用于 vscode 中智能化自动提示 webpack 配置项
/** @type {import('webpack').Configuration} */const HtmlWebpackPlugin = require("html-webpack-plugin");const config = {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"})]
};
module.exports = config;

开发配置:

// 开发环境配置// 下面这行用于 vscode 中智能化自动提示 webpack 配置项
/** @type {import('webpack').Configuration} */const config = {devtool: "cheap-module-eval-source-map"
};module.exports = config;

生产配置:

// 生产环境配置// 下面这行用于 vscode 中智能化自动提示 webpack 配置项
/** @type {import('webpack').Configuration} */const CleanWebpackPlugin = require("clean-webpack-plugin");const config = {plugins: [new CleanWebpackPlugin()]
};module.exports = config;

webpack 文件入口配置:

// webpack 文件入口// 下面这行用于 vscode 中智能化自动提示 webpack 配置项
/** @type {import('webpack').Configuration} */const merge = require("webpack-merge");
const baseConfig = require("./webpack.base.config");
const devConfig = require("./webpack.dev.config");
const proConfig = require("./webpack.pro.config");const config = merge(baseConfig, process.NODE_ENV === "development" ? devConfig : proConfig);module.exports = config;

package.json 脚本配置

"scripts": {"start": "webpack-dev-server --mode=development --config ./build/webpack.config.js","build": "webpack --mode=production --config ./build/webpack.config.js"
},

启动服务并且打包测试

添加模板

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>TypeScript in Action</title></head><body><div class="app"></div></body>
</html>

添加功能

let kaimo:string = "hello typescript";document.querySelectorAll(".app")[0].innerHTML = kaimo;

启动服务 npm run start,访问 http://localhost:8080/

在这里插入图片描述
在这里插入图片描述

打包 npm run build

在这里插入图片描述

http://www.lryc.cn/news/247297.html

相关文章:

  • Android gradle 配置阿里镜像
  • Arduino驱动DHT20温湿度传感器(温湿度传感器)
  • 如何使用ArcGIS Pro制作一张北极俯视地图
  • 每天五分钟计算机视觉:经典架构的力量与启示
  • element plus 使用细节
  • 分析:为什么有些pdf打开之后无法编辑?
  • Django请求生命周期流程
  • C++学习 --string
  • Spark SQL,DF,RDD cache常用方式
  • Python中如何用栈实现队列
  • python模块pyDes,DES对称加密算法库
  • Centos7安装配置nginx
  • 9.Spring 整合 Redis
  • 【Java学习笔记】73 - 正则表达式
  • 【算法】滑动窗口题单——1.定长滑动窗口⭐
  • 可观测性项目开发与学习ing
  • apache-poi
  • TOD和PPS精确时间同步技术
  • 通过一个例子理解pytest的fixture的使用
  • 单片机BootLoader是咋回事?
  • python与机器学习1,机器学习的一些基础知识(完善ing)
  • 移动应用开发介绍及iOS方向学习路线(HUT移动组版)
  • vue+uniapp校园寻物失物招领平台 微信小程序1f6z5
  • Linux内核--内存管理(三)物理内存分页机制--kmalloc及slub机制
  • Shell - cron_protect.sh 监控 Python、Streaming 程序
  • MSB3541 Files 的值“<<<<<<< HEAD”无效。路径中具有非法字符。
  • 【赠书第9期】巧用ChatGPT高效搞定Excel数据分析
  • 会声会影2024旗舰版系统配置要求及格式支持
  • 【部署运维】docker:入门到进阶
  • 鸿蒙开发学习——应用程序框架