美文网首页
1:flow---在vue中的应用

1:flow---在vue中的应用

作者: 颜色不一样的烟火_ac0f | 来源:发表于2020-04-10 23:36 被阅读0次

什么是flow?vue中为何用flow?

flow是一个对js进行静态类型检查的工具,同作用的还有ts。js是一门弱类型语言,比如在c语言中定义一个变量会用关键字同时规定这个变量的类型如: int  x(定义整型)、float y(定义浮点型);但是js不一样,js定义变量都是通过var关键字,通过赋值来规定这个变量的类型。因此js虽然很灵活,但是同时也很容易写出非常隐蔽的隐患代码,而编译时根本不会报错。因此Vue在做2.0版本重构的时候,在es2015的基础上,引入了flow做静态类型检查,之所以选择flow而不是其他的工具是因为babel和eslint都有对应的flow插件用以支持语法。

flow进行类型检查的方式?

1、类型推断

这个时候通过flow对这个函数进行类型检查就会报错,因为split是字符串的方法,这里的参数推断是传一个字符串,可是在调用splitStr方法的时候传的参数是数字11,不符合要求。

2、类型注释

类型注释需要给a赋值一个数字

flow的基本使用步骤

flow的官网地址是:https://flow.org

1、创建package.json文件与下载flow包

创建package.json 下载flow包

2、编写js代码,并且加入// @flow头

通过注释来指定变量类型

3、修改package.json文件并创建.flowconfig文件

在script中添加flow配置项 通过npm run init来创建.flowconfig文件 创建的.flowconfig文件

4、执行flow类型检查

报错显示需要数字类型传递的却是字符串

flow配合babel进行使用

flow为什么要配合babel进行使用呢?这是因为我们直接写flow的类型注释这些语句用flow进行检查是没问题的,但是代码在运行时是会报错的,所以必须通过babel对代码进行转换

1、下载babel相关插件

下载babel-cli和babel-preset-flow

2、配置package.json文件

配置build命令

3、配置.babelrc文件和执行打包

配置.babelrc文件 通过npm run build打包 会自动生成一个dist文件夹里面有一个index.js文件,是对src/index.js文件转码来的,可以发现没有了flow的类型注释

相关文章

  • 1:flow---在vue中的应用

    什么是flow?vue中为何用flow? flow是一个对js进行静态类型检查的工具,同作用的还有ts。js是一门...

  • vue页面和component组件之间双向通讯

    应用场景:entity.vue以组件方式嵌入在main.vue中,要求1、main.vue页面中能够将参数...

  • 设计模式在vue中的应用

    外观模式、工厂模式在vue中应用 formCom文件 login文件 状态模式在vue中应用 stepHome文件...

  • 16-vuex

    1. 概念 在vue中实现集中式状态(数据)管理的一个 vue 插件。对vue应用中多个组件的共享状态(数据)进行...

  • VueJS第一课

    每个Vue应用都需要实例化Vue来实现 1. 可以看到在 Vue 构造器中有一个 el 参数,它是 DOM 元素中...

  • Vue-Quill-Editor在vue中自定义选择视频插入编辑

    vue-quill-editor 是 Vue 项目中使用的 富文本编辑器 1 引言 在实际应用开发中,在常见的管理...

  • websocket在vue中的应用

    项目中刚好碰到需要用到websocket的需求,便整理了一下,就当做是笔记吧~~一句话介绍一下需求能让人更直接的明...

  • Proxy在vue中的应用

    上篇写Object.defineProperty在vue中的应用后,发现vue3.0已经不用这个了,改用Proxy...

  • qrcode 在vue中的应用

    npm安装:npm install qrcodejs2 --save vue引入:import QRCode fr...

  • convas在vue中的应用

    生命周期canvas应该在mounted的生命周期中初始化,在updated中是无效的。 响应式画布当需要使can...

网友评论

      本文标题:1:flow---在vue中的应用

      本文链接:https://www.haomeiwen.com/subject/cykjmhtx.html