应用十:Vue之Vue与TypeScript集成开发

  截至2019年底,TypeScript(简称ts)已经与Python并列成为第二受欢迎的开发语言,仅次于Rust。如果你还不清楚到底什么是ts,请先移步至ts中文网了解。再过几个月Vue3.0版本就将正式发布,源码完全使用TypeScript编写,Vue与TypeScript的集成势必将成为接下来的趋势。

  鉴于手头刚好有一个新项目要做,就想着提前先体验一把。新项目使用Vue-cli3.0 + TypeScript3.0开发(因为Vue-cli2.0与ts的集成体验并不好,所以就不考虑了),其实Vue-cli3.0脚手架中已经集成了ts,在创建项目时我们只要选择基于ts的开发模式就行。下面我们就来说一下具体的操作:

一、创建项目

  Vue-cli3.0创建项目的命令为vue create vue-ts(vue-ts为项目名称),这个大家应该都知道,命令执行后会出现如下的界面

  

  然后直接回车就可以了。但创建基于ts的项目是要选择手动创建Manually select features,回车后悔出现以下界面

  

  通过上/下键和空格键选择要用到的插件,选好后回车进入下一步,对于后面的选项可以一路默认,也可以根据个人意向选择,这样项目就创建好了,项目结构如下

  

  然后启动运行将看到如下界面

  

  其中tsconfig.json是ts项目的配置文件,各配置项的作用可以取ts中文网了解。

  shims-vue.d.ts文件用来对vue进行声明,为什么要进行这样的声明呢?因为ts无法自动识别.vue后缀的文件。对该文件的详解可以自己先去查文档。

二、语法结构

  对于.ts后缀的文件,因为TypeScript是JavaScript 的一个超集,所以我们完全可以在ts文件中编写js代码。。。但不建议这样做,毕竟ts是一门面向对象的语言,最好还是要体现出面向对象的特性,至少可以用下ts中的类class。如果你刚好会一门面向对象语言(比如java或者c++)的话就很容易理解我这句话的意思,否则请回过头再去多看看ts的文档。

  其实这里真正想说的是vue文件的语法结构,对于上面创建好的项目我们可以打开App.vue文件看一下,模板template和样式style部分的写法基本没有什么差异,最大的不同就是脚本script部分的写法,脚本部分代码如下

   

  到这里呢有两个插件我们需要先了解以下,vue-class-componentvue-property-decorator,vue-class-component是官方提供的使用类的方式编写组件,vue-property-decorator则完全依赖于前者,它将一些常用的钩子都封装成了装饰器,使用起来更方便简洁一些,具体的语法请查考vue-property-decorator官方文档。

  如果想要在ts项目中使用vuex,还需要引入另外一个插件vuex-class,官方文档中也对具体的语法给出了详细说明。

  对于vue与typescript的集成开发,该篇也只是给出了应用指引,具体还需要个人去学习文档并亲自动手实践才能有所掌握和体会。后续也会基于ts给出一些应用实例~

原文地址:https://www.cnblogs.com/fengyuexuan/p/12142078.html

时间: 2024-08-27 14:09:39

应用十:Vue之Vue与TypeScript集成开发的相关文章

如何在Vue项目中使用Typescript

0.前言 本快速入门指南将会教你如何在Vue项目中使用TypeScript进行开发.本指南非常灵活,它可以将TypeScript集成到现有的Vue项目中任何一个阶段. 1.初始化项目 首先,创建一个新的项目目录. mkdir typescript-vue-tutorial cd typescript-vue-tutorial 接着,在目录中创建如下目录结构. typescript-vue-tutorial/ ├─ dist/ └─ src/ └─ components/ TypeScript文件

Vue+Node+MongoDB高级全栈开发

第1章 本地与服务器环境准备介绍微信公众号/小程序/域名/服务器的申请选购流程,在本地与线上服务器分别对项目的运行环境进行搭建部署,如 Node.js/Vue/Yarn/PM2/Nginx/MongoDB 等等,同时会来简单介绍下从本地通过 PM2 利用 Git 仓库直接往线上服务器部署以及 Nginx 端口映射解析特定域名的实现流程,最终准备好本地线上和外部业务环境为开发...1-1 导学1-2 课程简介1-3 申请认证公众服务号与小程序1-4 选购域名与备案解析域名1-5 选购配置服务器1-

Vue全家桶+Egg从0开发大型项目(一)搭建项目

前言 因为要开发本科毕设,做一个校友交流平台,正好想记录下整个开发过程,同时也分享给各位.当然那些需求调研的,前期设计的就省略啦. 项目大概是一个全栈的项目,使用的IDE是vscode(期间涉及一些插件.配置推荐),大概的项目技术栈: vue + vue-router + vuex + vue-i18n + element-ui + egg + sequelize 前端就用vue-cli3来搭建,后端就用egg-init来搭建,比较简单,官方文档也比较详细. 项目技术栈 前端: 前端MVVM框架

vue — 创建vue项目

vue - 创建vue项目 创建vue项目 在程序开发中,有三种方式创建vue项目,本地引入vuejs.使用cdn引入vuejs.使用vue-cli创建vue项目.其中vue-cli可以结合webpack打包工具使用,大大方便了开发步骤,使用广泛. vue本地引用 在官网下载vue.js,通过script标签引入.开发版本:https://vuejs.org/js/vue.js 包含完整的警告和调试模式生产版本:https://vuejs.org/js/vue.min.js 删除了警告,30.9

Vue工程报错解决方案import Vue from "vue";

INFO Starting development server... Starting type checking and linting service... Using 1 worker with 2048MB memory limit 98% after emitting CopyPlugin DONE Compiled successfully in 7753ms 21:03:53 WARNING in D:/GitHub Project/pay/src/App.vue(8,32):

new Vue/Vue.Component/Vue.extend的区别

刚开始学习Vue时,当我们看到创建Vue实例和创建一个组件时,会发现Vue实例的参数和组件参数是那么的相似:当我们学习路由时, 又发现Vue.extend创建的对象和自定义的组件非常的相似,那么这三者究竟是什么关系呢,对于3个对象了解清楚对后续精准编程很有意义, 因此,我们需要好好的了解一下他们的区别和使用场景 Vue.extend和Vue.component区别比较 运行示例 var PageNotFind = Vue.component("pagenotfind",{templat

vue入门 vue与react和Angular的关系和区别

一.为什么学习vue.js vue.js兼具angular.js和react的优点,并且剔除了他们的缺点 官网:http://cn.vuejs.org/ 手册:http://cn.vuejs.org/v2/api/ 二.vue.js是什么 Vue是一个"MVVM框架(库)",和angular类似,相比angular小巧,比较容易上手 Vue是一个构建用户界面点的渐进式框架,与其他重量级框架不同的是,vue采用自底向上增量开发的设计 vue的核心库"只关注视图层",并

[vue]webpack&vue组件工程化实践

webpack将app.vue(根节点)挂到html - 安装 npm i --save-dev [email protected] [email protected] // vue-loader: 1.解析.vue文件 2.会自动调用 vue-template-complier - webpack.config.js {test: /\.vue$/, use: 'vue-loader'}, - app.vue 1.render函数 app.vue的本质: 1.一个对象(组件,vNode) 2,

04慕课网《vue.js2.5入门》——Vue-cli开发todolist

主要文件目录: 文件代码: 根实例,初始化vue: <!--index.html,网站入口页面,和main.jsp组成一套.vue文件,包含--> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0&qu