跟技术胖学vue3.0(typescript版)(一) 环境搭建 , 工程创建 , 工程结构

JavaScript030

跟技术胖学vue3.0(typescript版)(一) 环境搭建 , 工程创建 , 工程结构,第1张

vue3.0终于来了, 下面我们开始愉快的尝鲜吧!!!

我的mac是安装了homebrew https://brew.sh/

安装方法: (需前置安装xcode)

nodejs默认安装了npm包管理工具, 但npm对天朝网络来说连接缓慢.可能需要科学的上网方法

或者,使用国内源代替

如果你使用npm 无问题, 可以跳过此步骤

如果没有安装cnpm, 之后的命令都要用npm代替cnpm

安装完后使用vue --version查看版本

国内就无奈的选择 y 吧

如果使用JavaScript 直接选择第二项就可以了

如果使用typescript 请选择第三项, 手动配置

因为上一步有自行选择vue版本 所以要做一下选择

安装完成:

我们可以根据提示进入工程目录,然后运行起来

4.选择要安装的功能框架

根据需求设置, 这里我就不用保存了

项目创建完成

可以看到和vue2.0基本没有区别, 有一些区别是因为我们使用typescript引起的

这里我们要看的第一个文件是: main.ts

技术胖webpack教程

webpack中使用echarts

在 webpack 的入口文件中直接引入第三方类库,向外全局暴露,以 jquery 插件使用为例

1.创建本地项目 webpack-demo

2.在 webpack-demo 的根目录下创建 package.json 文件

模块说明:

4.修改 package.json 文件的 scripts 属性值,进行打包资源的配置

5.安装相关的 loader

6.安装jquery

7.在入口文件 app.js 中引入 jquery

8.给按钮绑定事件

9.运行命令

10.结果展示

通过 webpack 的 ProvidePlugin 插件全局引入第三方类库,以 echats 使用为例

1 ~ 5步同上

6.安装echarts

7.在webpack.config.js中进行配置

7.创建echart容器

8.初始化echarts

9.运行命令

10.结果展示

TypeScript中的数据类型有:

undefined

number:数值类型

string : 字符串类型

boolean: 布尔类型;

enum:枚举类型;

any : 任意类型(不建议用);

void:空类型;

Array : 数组类型

Tuple : 元组类型;

Null :空类型。

Undefined类型

在js中当你定义了一个变量,但没有给他赋予任何值的时候,他就是Undefined类型。这可能和你以前学的语言稍有不同,其他语言会有个类型的默认值。

我们现在来看一个例子,比如我们要声明一个年龄的变量age,我们要使用数值类型,也就是Number,但是我们不给他任何的值,我们只是在控制台给它输出,然后我们来看结果。

新建demo01.ts文件,下入下面代码:

//声明数值类型的变量age,但不予赋值

var age:number

console.log(age)

1

2

3

写完后保存代码,进行运行任务,然后生成demo01.js,在终端中使用node demo01.js来进行查看运行结果。控制台输出了undefined,跟我们预想的一模一样。

Number类型

在TypeScript中,所有的数字都是Number类型,这不分是整数还是小数。比如下面我们声明一个年龄是18岁,身高是178.5厘米。

新建一个文件demo01_1.ts文件,写入下面代码:

var age:number = 18

var stature:number = 178.5

console.log(age)

console.log(stature)

1

2

3

4

然后执行转换,查看结果,我们可以在控制台看到结果已经顺利输出,没有任何意外。

在TypeScrip中有几种特殊的Number类型 我们需要额外注意一下:

NaN:它是Not a Number 的简写,意思就是不是一个数值。如果一个计算结果或者函数的返回值本应该是数值,但是由于种种原因,他不是数字。出现这种状况不会报错,而是把它的结果看成了NaN。(这就好比我们去泰国外,找了一个大长腿、瓜子脸、水蛇腰的女神。房也开好了,澡也洗完了,发现跟我们的性别统一,我们只能吃个哑巴亏,你绝不会声张)

Infinity :正无穷大。

-Infinity:负无穷大。

string类型

由单引号或者双引号括起来的一串字符就是字符串。比如"哈哈", ‘呵呵’。看下面的代码:

demo01_2.ts

var hh: string = "哈哈"

console.log(hh)

1

2

这时候控制图就会乖乖的输出技术胖 哈哈

boolean布尔类型

做任何业务逻辑判断都要有布尔类型的参与,通过对与错的判断是最直观的逻辑处理。boolean类型只有两种值,true和false。

var b:boolean = true

var c:boolean = false

1

2

enum 类型

这个世界有很多值是多个并且是固定的,比如:

世界上人的类型:男人、女人、中性

一年的季节:春、夏、秋、冬 ,有四个结果。

这种变量的结果是固定的几个数据时,就是我们使用枚举类型的最好时机:

demo01_3.ts

enum REN{ nan , nv ,yao}

console.log(REN.yao) //返回了2,这是索引index,跟数组很想。

1

2

如果我们想给这些枚举赋值,可以直接使用=,来进行赋值。

enum REN{

nan = '男',

nv = '女',

yao= '妖'

}

console.log(REN.yao) //返回了妖 这个字

1

2

3

4

5

6

any类型

一个写惯了前端的人,有时候不自觉的就分不清类型了。这是个不好的习惯,也是前端的痛,就因为这个原因,JavaScript也多次被人诟病说大型项目不适合用JavaScript。但是习惯一旦养成,改是需要时间和磨练的。TypeScript友好的为我们提供了一种特殊的类型any,比如我们在程序中不断变化着类型,又不想让程序报错,这时候就可以使用any了。

var t:any =10

t = "hhhh"

t = true

console.log(t)

1

2

3

4

Null类型:

与 Undefined 类似,都代表空。Null 代表是引用类型为空。意义不大,但是有用。后续学习中会使用到。

引用类型-数组

初始化数组的两种方法:

声明数组跟声明一个普通变量是一样的,都是通过 var let 关键字实现的,只不过数组的类型说明符比较复杂而已。

1. 声明数组的2种方法

声明数组跟声明一个普通变量是一样的,都是通过 var let 关键字实现的,只不过数组的类型说明符比较复杂而已。

let arr1: number[] = [1, 2, 3, 4]

let arr2:Array<number>= [4, 4, 5]

1

2

3

2. 给数组赋值

数组是存储大量数据的集合,声明数组之后,需要给数组存储数据。这时候有两种方法:

字面量赋值法:直接使用“[ ]”对数组进行赋值。

构造函数赋值法:

字面量赋值:

//定义一个空数组,数组容量为0

let arr1:number[] = []

//定义一个数组时,直接给数组赋值

let arr2:number[] = [1,2,3,4,5]

//定义数组 的同事给数组赋值

let arr3:Array<string>= ['hh','哈哈','呵呵']

let arr4:Array<boolean>= [ true,false,false]

1

2

3

4

5

6

7

需要注意的是,在TypeScript中指定数据类型的数组只能存储同一类型的数组元素。

//报错! 必须存储number类型的数据

let arr5:number[] = [1,2,true]

1

2

构造函数赋值:

在 TypeScript 中使用 Array 这个引用类型来表示数组的,那么每一个数组都是 Array 类型的实例。那么,我们在创建数组的时候也可以使用构造函数来进行赋值。

let arr1:number[] = new Array()

let ara2:number[] = new Array(1,2,3,4,5)

let arr3:Array<string>= new Array('hh','哈哈','呵呵')

let arr4:Array<boolean>= new Array(true,false,false)

1

2

3

4

这两种方法,都可以给数组进行赋值,在实际开发中使用哪种方法都是可以的。

认识元组,一种特殊的数组

元组是一种特殊的数组,元组类型允许表示一个已知元素数量和类型的数组,各元素的类型不必相同。比如,你可以定义一对值分别为string和number类型的元组。元组在实际开发中使用的非常少,大家了解一下就可以了,不做过多介绍。

//声明一个元祖类型

let x : [string,number]

//正确的初始化

x = ['hello',10]

//错误的初始化方法

x = [10,'hello']

1

2

3

4

5

6

TypeScript中其它的数组知识跟JavaScript中的一样,我再这里就不磨磨唧唧的浪费大家时间了。感兴趣的可以写一下JS中的数组方法。

————————————————