TypeScript 初体验
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 的思路大概是这样的:
买个服务器作为代码仓库(registry),在里面放所有需要被共享的代码
发邮件通知 jQuery、Bootstrap、Underscore 作者使用 npm publish 把代码提交到 registry 上,分别取名 jquery、bootstrap 和 underscore(注意大小写)
社区里的其他人如果想使用这些代码,就把 jquery、bootstrap 和 underscore 写到 package.json 里,然后运行 npm install ,npm 就会帮他们下载代码
下载完的代码出现在 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 初体验的更多相关文章
- TypeScript初体验
第一次运行TypeScript 1.创建文件夹并初始化项目 mkdir ts-demo cd ts-demo npm init -y 2.安装typescript与ts-node # 局部安装 npm ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
- Xamarin+Prism开发详解四:简单Mac OS 虚拟机安装方法与Visual Studio for Mac 初体验
Mac OS 虚拟机安装方法 最近把自己的电脑升级了一下SSD固态硬盘,总算是有容量安装Mac 虚拟机了!经过心碎的安装探索,尝试了国内外的各种安装方法,最后在youtube上找到了一个好方法. 简单 ...
- Spring之初体验
Spring之初体验 Spring是一个轻量级的Java Web开发框架,以IoC(Inverse of Control 控制反转)和 ...
- Xamarin.iOS开发初体验
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKwAAAA+CAIAAAA5/WfHAAAJrklEQVR4nO2c/VdTRxrH+wfdU84pW0
- 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...
- 【Knockout.js 学习体验之旅】(1)ko初体验
前言 什么,你现在还在看knockout.js?这货都已经落后主流一千年了!赶紧去学Angular.React啊,再不赶紧的话,他们也要变out了哦.身旁的90后小伙伴,嘴里还塞着山东的狗不理大蒜包, ...
- 在同一个硬盘上安装多个 Linux 发行版及 Fedora 21 、Fedora 22 初体验
在同一个硬盘上安装多个 Linux 发行版 以前对多个 Linux 发行版的折腾主要是在虚拟机上完成.我的桌面电脑性能比较强大,玩玩虚拟机没啥问题,但是笔记本电脑就不行了.要在我的笔记本电脑上折腾多个 ...
- 百度EChart3初体验
由于项目需要在首页搞一个订单数量的走势图,经过多方查找,体验,感觉ECharts不错,封装的很细,我们只需要看自己需要那种类型的图表,搞定好自己的json数据就OK.至于说如何体现出来,官网的教程很详 ...
随机推荐
- Docker私有仓库与Harbor部署使用
Docker私有仓库与Harbor部署使用 目录 Docker私有仓库与Harbor部署使用 一.本地私有仓库 1. 下载registry镜像 2. 在daemon.json文件中添加私有镜像仓库地址 ...
- asp.core 同时兼容JWT身份验证和Cookies 身份验证两种模式
在实际使用中,可能会遇到,aspi接口验证和view页面的登录验证情况.asp.core 同样支持两种兼容. 首先在startup.cs 启用身份验证. var secrityKey = new Sy ...
- javascript 书
作者limu 整理的书 http://web.jobbole.com/8087/ 慢慢整理, 后续还会添加
- 面试题之java缓存总结,从单机缓存到分布式缓存架构
1.缓存定义 高速数据存储层,提高程序性能 2.为什么要用缓存(读多写少,高并发) 1.提高读取吞吐量 2.提升应用程序性能 3.降低数据库成本 4.减少后端负载 5.消除数据库热点 6.可预测的性能 ...
- Java面向对象之各种变量详解
在Java中一定有很多变量让大家头疼,成员变量.类变量.局部变量等等,今天就来分别认识认识他们吧! Java面向对象之各种变量详解 前言 在 Java语言中, 根据定义变量位置的不同,可以将变量分成两 ...
- 文本处理命令(sort+uniq+cut+tr+wc)+三剑客之sed
目录 文本处理命令+三剑客之sed 一.文本处理命令 1.排序命令 sort 2.检查/删除命令 uniq 3. cut 显示特定部分命令 4. 替换或删除命令 tr 5.统计 计算数字命令 wc 二 ...
- Hadoop分布式集群部署
环境准备 IP HOSTNAME SYSTEM 192.168.131.129 hadoop-master CentOS 7.6 192.168.131.135 hadoop-slave1 CentO ...
- 016 Linux 卧槽,看懂进程信息也不难嘛?top、ps
目录 1 扒开看看 top 命令参数详情 第一行,[top - ]任务队列信息 第二行,[Tasks] 任务(进程) 第三行,[Cpu(s)]状态信息 第四行,[Mem]内存状态 第五行,[Swap] ...
- Python基础—内置函数(Day14)
一.内置函数 1.***eval:执行字符串类型的代码,并返回最终结果(去掉括号里面是什么就返回什么). print(eval('3+4')) #7 ret = eval('{"name&q ...
- FastDFS安装和简介详细总结
1.fastDFS简介 1 FastDFS是用c语言编写的一款开源的分布式文件系统. 2 FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标, 3 ...