TypeScript学习

1 安装环境

a 首先安装node.js

node.js 用来将ts文件解析成js文件 供浏览器使用;

解析ts文件 tsc filename.ts

b. 使用npm (node.js的包管理器)下载typescript,安装完node.js 就已经安装好了nmp

下载命令为: npm install -g typescript

2语法:

// let {变量名} :{类型}
let a:number;
a=10;
let b='hello';
// 定义参数和返回值的类型
//function {方法名称}({形参}:{类型},...):{方法返回值数据类型}
function sum(a:number,b:number):number
{
return a+b;
}
let any: any; //关闭ts 使用js 动态类型 不建议使用
let unk: unknown; //不能赋值给其他类型
//字面量 “|”联合类型
let bs: boolean | string;
bs = false;
bs = 'hello'
console.log(` let bs: boolean | string return : ${bs}`);
//断言
/*告诉解析器变量的实际类型
* 变量 as Type
* <Type>变量
*/
user = bs as string;
user = <string>bs;

3 编译 tsconfig.json

在根目录配置tsconfig.json 直接执行tsc 可以编译配置文件中配置的文件

{
"include": ["./src/**/*"],
"compilerOptions": {
"outDir": "./dist",
"target": "es6",
...
}
}

4 webpack 配置

1、npm 初始化目录 生成一个webpack.json文件

npm init -y

webpack.json 用来配置项目基本信息,命令,项目依赖等

2、npm 安装依赖库 webpack webpack-cli typescript tsloader
npm i -D webpack

npm i -D webpack-cli

npm i -D typescript 

npm i -D ts-loader
3、编辑webpack.config.js 文件
const path=require("path");

//webpck 所有的配置信息都应该写在module.exports中
module.exports= {
mode:'devlopment',
entry:"./src/index.ts",
//指定打包文件路径
output:{
path:path.resolve(__dirname,'dist'),
filename:'bundle.js'
},
//webpack 打包使用的模块
module:{
rules:[{
test:/\.ts$/,//指定规则生效的文件
//要使用的loader
use:'ts-loader',
exclude:/node_modules/,
}]
}
}
4、编辑tsconfig.json
{
//编译根目录下所有文件
"include": ["./src/**/*"],
"exclude":["./node_modules/"]
//编译选项
"compilerOptions": {
"outDir": "./dist",//编译后文件的输出目录为根目录下的dist
"target": "es6",// 编译为es6版本的js
"noImplicitAny": true
}
}
5、webpack.json添加命令 “scripts”节点下

"build":"webpack"

6 运行打包程序

nmp run build

进阶:

安装html-webpack-plugin

生成引用文件的html

安装webpack-dev-server

使用npm作为开发服务器 启动项目

安装babel 可以配置处理浏览器兼容性

相关知识:

.ts扩展名的文件为 TypeScript代码文件

https://www.tslang.cn/docs/handbook/typescript-in-5-minutes.html

npm run dev ‘npm'是什么

npm是干什么的?为什么要使用npm?(适合不太了解 npm 的新人阅读)

安装完node.js之后就已经安装好了npm

NPM 的思路大概是这样的:

  1. 买个服务器作为代码仓库(registry),在里面放所有需要被共享的代码

  2. 发邮件通知 jQuery、Bootstrap、Underscore 作者使用 npm publish 把代码提交到 registry 上,分别取名 jquery、bootstrap 和 underscore(注意大小写)

  3. 社区里的其他人如果想使用这些代码,就把 jquery、bootstrap 和 underscore 写到 package.json 里,然后运行 npm install ,npm 就会帮他们下载代码

  4. 下载完的代码出现在 node_modules 目录里,可以随意使用了。

    这些可以被使用的代码被叫做「包」(package),这就是 NPM 名字的由来:Node Package(包) Manager(管理器)。

node.js

node.js 是一种javascript的运行环境,能够使得javascript脱离浏览器运行。Node.js官网

webpack 官网:

https://www.jqhtml.com/7626.html

webpack是什么?

webpack 是一个现代的 JavaScript 应用程序的模块打包器(module bundler)。

实现按需加载,代码压缩

TypeScript 初体验的更多相关文章

  1. TypeScript初体验

    第一次运行TypeScript 1.创建文件夹并初始化项目 mkdir ts-demo cd ts-demo npm init -y 2.安装typescript与ts-node # 局部安装 npm ...

  2. .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验

    不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...

  3. Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验

    Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...

  4. Spring之初体验

                                     Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...

  5. Xamarin.iOS开发初体验

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0

  6. 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验

    本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...

  7. 【Knockout.js 学习体验之旅】(1)ko初体验

    前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...

  8. 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验

    在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...

  9. 百度EChart3初体验

    由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...

随机推荐

  1. Java中stream的详细用法

    来自于:Java 8 stream的详细用法_旅行者-CSDN博客_java stream 一.概述 Stream 是 Java8 中处理集合的关键抽象概念,它可以指定你希望对集合进行的操作,可以执行 ...

  2. linux13

    ansible-playbook实现MySQL的二进制部署 Ansible playbook实现apache批量部署,并对不同主机提供以各自IP地址为内容的index.html http的报文结构和状 ...

  3. Java执行cmd命令、bat脚本、linux命令,shell脚本等

    1.Windows下执行cmd命令 如复制 D:\tmp\my.txt 到D:\tmp\my_by_only_cmd.txt 现文件如图示: 执行代码: private static void run ...

  4. 测试提高路线图_tester+

    https://mp.weixin.qq.com/s/30ZT0w164Q3iLdPg4R8org

  5. 5.1 Paralles 为虚拟机设置静态ip

    一.配置独立ip的环境 前面研究了k8s的组件,核心概念,网络模型,都了解了一遍,现在就要进入实战了,摆在面前的一座大山,必须克服才行---虚拟机搭建,及网络环境配置. 先说说本文的运行环境: mac ...

  6. Asp.Net Core: Swagger 与 Identity Server 4

    Swagger不用多说,可以自动生成Web Api的接口文档和客户端调用代码,方便开发人员进行测试.通常我们只需要几行代码就可以实现这个功能: ... builder.Services.AddSwag ...

  7. Java老码农心得:卷了这么多年,您真的卷会了吗?

    前言 大家好,我是福隆苑居士,今天跟大家聊一下程序员在当下内卷成风的情况下,使用什么方法可以了解行业发展趋势,知道哪些该学,哪些可以略过,今年应该掌握什么,可以放弃什么,让自己时刻紧跟行业的步伐永不掉 ...

  8. 关于WebStorm-React-Native 代码提示安装方法

    声明 本方法 为网上好心人提供  我提供整理 插件名称:Webstrom live template 安装方法一:1.打开终端输入 git clone https://github.com/virto ...

  9. Redis_RDB持久化之写时复制技术的应用

    背景: 最近生产环境中某个Set的Redis集群经常出现短暂的内存降低现象,经过查看日志是因为在RDB持久化所造成的内存突降(日志中:RDB: 4929 MB of memory used by co ...

  10. 不需要高价购买BI工具,掌握这个Excel插件就能碾压大数据

    ​曾几何时,EXCEL在数据界可谓是独树一帜,引领风骚,在职场中无人不知,无人不晓.但是随着大数据的出现,EXCEL便风光不再,江河日下,一度被其他大数据工具挤到了后面,逐渐被边缘化了.而我是一个EX ...