eslint-plugin-flowtype 函数调用 入参不对时没有生效?
flow.js
//@flow
function test(n: number): number {
return n * n;
}
function test2(n) {
return n * n;
}
test('9');
export default {
desc: 'flow checker',
square(n: number): number {
return n * n;
}
};
我的配置文件
.eslintrc.js
module.exports = {
"root": true,
// "parser": "babel-eslint",//not for vue
"parserOptions": {
"parser": "babel-eslint",//for vue
"ecmaVersion": 8,
"sourceType": "module",
"impliedStrict ": true,
"ecmaFeatures": {
"jsx": true
}
},
"env": {
"browser": true,
"es6": true
},
"globals": {
"overwritten": true,
"overwritten": false,
"require": false,
// "_ISPROD_": false,
"process": false
},
"extends": [
"plugin:flowtype/recommended",
'eslint:recommended',
'plugin:vue/recommended'
],
"plugins": [
"flowtype",
"vue"
],
"settings": {
"flowtype": {
"onlyFilesWithFlowAnnotation": true,//只检查 声明 flow语法的文件
}
},
"rules": {
"semi": [1, "always"],//语句强制分号结尾
"camelcase": 1,
"no-alert": 2,//
"no-console": 1,
"no-labels": 2,//
"no-multi-str": 2,//多行字符串
"no-sequences": 2,//逗号运算符 var c=a,b;
//Best Practices
"no-with": 2,
"no-caller": 2,
"no-eval": 2,
"no-eq-null": 2,
"no-unused-vars": 1,//未使用的变量
"no-undef": 2,//no undefined
"eqeqeq": 1,//===
"block-scoped-var": 2,//块级内禁止使用var
"vars-on-top": 2,
"curly": [2, "all"],//if(){ }
//ES6
"no-var": 1,//使用let const
//Stylistic Issues
"one-var": 0,
"no-inline-comments": 1,//行内注释
//flow rules
"flowtype/define-flow-type": 2,
"flowtype/no-weak-types": 2,
"flowtype/require-parameter-type": 2, //强制 参数类型
"flowtype/no-types-missing-file-annotation": 2,//强制声明是否采用flow 语法
"flowtype/semi": [
2,
"always"
],
"flowtype/use-flow-type": 2,
//vue/rules to override the default
"vue/no-confusing-v-for-v-if": 2,//.vue 文件校验规则
"vue/require-v-for-key": 1,
"vue/valid-v-for": 1
}
}
备注:
采用flow 官网那样 通过flow-bin 检查语法可以提示 test("9") :flow:string this type is incompatible ...
但 我想在vueJs项目中通过eslint 控制 编写规范,然后在webpack 打包时,eslint-loader控制有错误则终止编译。所以官网那样 的 提示不符合我的需求。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
eslint-plugin-flowtype 这个lint检查的rules是flow的语法检查,并不是像flow check那样检查类型,只会检查你写的flow注释规不规范这样