版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 零基础学透 TypeScript / 6-1 搭建基础项目搭建基础项目更新时间:2019-07-24 14:09:33 为之崛起而读书。这一章是实战章节,我们将会使用 Vue+TypeScript来开发一个简单管理,这个实战项目的目的是演示如何在 Vue 项目中使用 TypeScript 进行开发,而不是为了实现一个管理。所以我们在开发的时候,以尽可能多的展示如何使用 TypeScript 结合 Vue 全家桶进行开发为前提,进行这个实战项目的开发,对于涉及到相同知识点的功 能性代码,我们会尽可能不去重复讲解。 6.1.1 安装Vue CLI本小节我们先来进行第一步,就是创建我们的初始项目,
2、首先你需要在全局安装 Vue 命令行工具 Vue CLI,首先你 要确定你安装了 NodeJS,如何安装我们已经在1.3小节讲过了,我们直接看如何安装 Vue CLI: sudo npm install -g vue/cli因为是在全局安装,所以你可能需要以管理员身份去运行,Mac中就是前面加以通过检查他的版本号来确定是否成功安装: 然后输入。安装之后你可 vue -V 或者 vue -version注意这里是使用vue 命令,而不是vue/cli,如果使用-V 参数一定记着是大写的V,我这里安装的是3.3.0版本的, 如果你发现你创建的项目和我创建的项目包含的文件或者配置信息有差异,有可能是
3、版本差异造成的,你也可可以 直接安装与我相同的版本。 sudoWindows系统直接运命令即可。 行npm install -g vue/cli6.1.2 使用Vue CLI创建项目安装好Vue CLI后,在终端启动Vue的可视化项目管理页面,运行如下命令: vue ui几秒钟之后就会自动打开浏览器在浏览器中打开一个本地页面,然后打开创建项目界面: 选择要存放新项目的文件夹后,点击底部的“在此创建新项目”,然后进入配置流程,一共四个流程:“详情” - “预设”- “功能” - “配置”,我们来逐个配置。 (1) 详情 填写项目名,这里我们写的是vue-ts-project,然后选择包管理器,我
4、这里选的是npm,如果你建了git仓库,你可 以在git栏填写git的仓库地址。配置完成后点击“下一步”。 (2) 预设每次创建一次项目,你的功能配置都可以保存为预设,方便下次直接使用,这里我们先选择手动,来手动配置项 目。然后点击“下一步”。 (3) 功能 这里我们勾选这几项:Babel:使用Babel可以将新特性语法转为低版本浏览器支持的语法; TypeScript:这个肯定要勾选了,因为我们要使用TypeScript开发; Router: 我们要开发单页面SPA应用,所以页面间的跳转需要使用前端路由; Vuex: 多个页面直接或者组件之间的通信可以使用Vuex来做状态管理; CSS Pr
5、e-processors:CSS预处理器,如果你使用Less或者Sass等CSS预处理器编写CSS样式,则勾选这项; Linter/Formatter:代码规范或格式检查器,如果你需要使用TSLint对代码规范或格式进行检验,勾选这项; 使用配置文件:如果需要将一些插件的配置保存在各自的配置文件中,则需要勾选这项。 配置完成后点击“下一步”。(4) 配置这里有吉祥需要配置:Use class-style component syntax?这项勾选上代表要在类风格的组件中使用Component装饰器 Use Babel alongside TypeScript for auto-detected
6、 polyfills?勾选这一项后,会同时使用Babel和TypeScript对新标准语法进行转义。 Pick a CSS pre-processor这里我选择的是Less,你可以根据自己习惯勾选。Pick a linter / formatter config这里是选择代码检查工具,我们使用TypeScript进行开发,所以选择TSLint。 Lint on save勾选这一项后,会在文件保存后进行代码风格和格式的检验。 到这里配置就完成了,点击创建项目,Vue CLI会根据我们的配置生成配合文件,同时会帮我们安装好依赖。6.1.3项目结构介绍下面我们来介绍下每个文件的作用:public文件
7、夹favicon.ico: 显示在浏览器标签栏标题前面的小图标index.html: 编译html文件的模板 srcassets: 存放一些图片、字体等静态资源components: 一些可以复用的组件存放在这里views: 页面视图vue文件存放在这里 main.ts: 项目入口文件 router.ts: 前端路由配置文件 shims-tsx.d.ts: 增加对JSX语法的类型支持的声明文件shims-vue.d.ts: 用于让编译器识别.vue后缀的文件store.ts: 状态管理vuex配置文件 .brwserslistrc: 配置编译后的代码需要支持的浏览器列表 .gitignore:
8、 设置提交到git时需要忽略的文件babel.config.js: babel的配置文件package- lock.json: 锁定依赖版本号的文件package.json: npm项目最基本的配置文件postcss.config.js: postcss的配置文件README.md: 项目介绍文件 tsconfig.json: 这个前面讲过了,TypeScript编译选项配置文件 tslint.json: TSLint配置文件 6.1.4调整项目结构下面我们根据开发习惯调整一下目录结构,整理后的目录如下: 我们在根目录创建mock文件夹用于存放mock相关文件。在src文件夹创建api文件夹,
9、用于存放封装的api请求方法;创建router文件夹,将原本src文件夹下的router.ts文件放在router文件夹下,并且改名为index.ts,然后把 routes字段的数组抽出来放在routes.ts文件夹下默认导出: / src/router/index.ts import Vue from vue;import Router from vue-router; import routes from ./routes;Vue.use(Router);export default new Router( routes,);/ src/router/routes.tsimport Hom
10、e from ./views/Home.vue; / 注意这里的路径,有原来的./开头改为./,因为此时views文件夹在routes.ts文件所在文件夹的上一级export default path: /,name: home, component: Home,path: /about, name: about,/ route level code-splitting/ this generates a separate chunk (about.hash.js) for this route/ which is lazy-loaded when the route is visited.c
11、omponent: () = import(/* webpackChunkName: about */ ./views/About.vue),在src文件夹下创建store文件夹,把原本在src文件夹下的store.ts文件放在store文件夹下,并改名为index.ts,然后创建module文件夹,用于存放拆分的vuex模块;在src文件夹创建styles文件夹,用于存放公共的样式文件;修改 main.ts文件里对router和store的引用。 我们还需要在根目录创建一个vue.config.js文件,用来配置vue项目相关配置,文件内的内容如下: const path = require
12、(path)const resolve = dir = return path.join( dirname, dir)const BASE_URL = process.env.NODE_ENV = production? ./: /module.exports = publicPath: BASE_URL, / 公共文件路径 lintOnSave: true, / 在保存文件的时候对代码进行格式校验 chainWebpack: config = config.resolve.alias.set(, resolve(src) / 配置便捷路径,凡是src这一级路径都可以用代替 这样我们的项目就算基本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 河北唐山市龙华中学2027届九上数学期末质量检测模拟试题含解析
- 初中语文九年级文学常识分类梳理教学设计
- 小学一年级音乐人音版下册《这是什么》教学设计
- 初中物理八年级牛顿第一定律教学设计-基于模型构建的惯性认知深度推进
- 初中美术七年级上册第三单元奖牌设计教学设计
- 高三语文一轮复习“文本信息的整合与比较”专题教学设计
- 小学四年级道德与法治教学设计:遇到绑架巧脱身
- 三年级数学(上)计算题专项练习附答案
- 普通高中物理选择性必修第三册 伦次定律判定与自感现象微观机理教学设计
- 小学三年级综合实践创意玩具DIY教学设计
- 小学五年级综合实践活动《窗户清洁及时做》劳动实践教学设计
- 2026秋部编版五年级语文上册第2单元语文园地二教学教学课件
- 单片机基础与应用(C语言版)(第3版)课件全套 王静霞 第1-9章 单片机及其开发环境 -综合应用实践
- 2026年云南中考化学真题(解析版)
- 肺结节精准管理专家共识2026年版
- 2025年全国人大机关公开遴选公务员真题(附答案)
- 房屋租金评估实施方案
- 光伏组件清洗服务合同协议2025年安全规范
- 中西方大学教育的异同
- 重师新生入学教育考试试题及答案
- 物业服务内控方案(3篇)
评论
0/150
提交评论