zoukankan      html  css  js  c++  java
  • [TypeScript] vs code TSLint常见错误解决方案

    TSLint是一个Typescrip{过滤}t验证工具,用于检测代码。


    TSLint: comment must start with a space (comment-format)

    注释必须从一个空格开始(comment-format)

    也就是说//之后必须跟随一个空格。

    “Missing semicolon.” : “缺少分号.”,
    “Use the function form of ”use strict”.” : “使用标准化定义function.”,
    “Unexpected space after ‘-’.” : “在’-'后面不应出现空格.”,
    “Expected a JSON value.” : “请传入一个json的值.”,
    “Mixed spaces and tabs.”: “空格和TAB重复.”,
    “Unsafe character.” : “不安全的字符.”,
    “Line too long.”: “本行中的字符超过设定的最大长度.”,
    “Trailing whitespace.”: “本行末尾有过多无用空格.”,
    “scrip{过滤}t URL.” : “脚本URL.”,
    “Unexpected {a} in ‘{b}’.” : “在 ‘{b}’ 中不该出现 {a}.”,
    “Unexpected ‘{a}’.” : “不该在此出现’{a}’.”,
    “Strings must use doublequote.” : “字符串需要用双引号”,
    “Unnecessary escapement.” : “不需要转义”,
    “Control character in string: {a}.” : “在字符串中出现了Control的字符”,
    “Avoid \’.” : “避免 \”,
    “Avoid \v.” : “避免 \v”,
    “Avoid \x-.” : “避免 \x-”,
    “Bad escapement.” : “错误的转义字符”,
    “Bad number ‘{a}’.” : “错误的数字 ‘{a}’”,
    “Missing space after ‘{a}’.” : “在’{a}’之后缺少空格”,
    “Don’t use extra leading zeros ‘{a}’.” : “不要再’{a}’的前面用多余的0″,
    “Avoid 0x-. ‘{a}’.” : “避免使用 0x-. ‘{a}’.”,
    “A trailing decimal point can be confused with a dot ‘{a}’.” : “在’{a}’中使用点尾随小数点”,
    “Unexpected comment.” : “不该在此处出现注释”,
    “Unescaped ‘{a}’.” : “没有转义 ‘{a}’”,
    “Unexpected control character in regular expression.” : “在正则表达式中出现了control字符”,
    “Unexpected escaped character ‘{a}’ in regular expression.” : “在正则表达式中出现了没有转义的字符 ‘{a}’”,
    “Expected ‘{a}’ and instead saw ‘{b}’.” : “应该用 ‘{a}’代替’{b}’”,
    “Spaces are hard to count. Use {{a}}.” : “空格难以统计,请使用 {{a}}”,
    “Insecure ‘{a}’.” : “不安全的 ‘{a}’”,
    “Empty class.” : “空的class”,
    “Expected a number and instead saw ‘{a}’.”:“应该用数字代替’{a}’”,
    “‘{a}’ should not be greater than ‘{b}’.”:“‘{a}’不应该比’{b}’大”,
    “‘hasOwnProperty’ is a really bad name.”: “‘hasOwnProperty’是关键字”,
    “‘{a}’ was used before it was defined.”:“‘{a}’未定义就已经使用了.”,
    “‘{a}’ is already defined.”:“‘{a}’被重复定义”,
    “A dot following a number can be confused with a decimal point.”:“数字后面的一个点会被误认为是十进制的小数点”,
    “Confusing minusses” : “容易混淆的负数表达-”,
    “Confusing plusses.” : “容易混淆的正数表达+”,
    “Unmatched ‘{a}’.” : “无法匹配的’{a}’”,
    “Expected ‘{a}’ to match ‘{b}’ from line {c} and instead saw ‘{d}’.”:“在行{c}中需要用’{a}’和’{b}’匹配,用来代替’{d}’”,
    “Unexpected early end of program.”:“程序不可预期的提前终止”,
    “A leading decimal point can be confused with a dot: ‘.{a}’.”:“‘{a}’前的点容易混淆成小数点”,
    “Use the array literal notation [].”:“使用数组的符号 []“,
    “Expected an operator and instead saw ‘{a}’.”:“需要用一个符号来代替’{a}’”,
    “Unexpected space after ‘{a}’.”:“在’{a}’之后不能出现空格”,
    “Unexpected space before ‘{a}’.”:“在’{a}’之前不能出现空格”,
    “Bad line breaking before ‘{a}’.”:“在’{a}’之前错误的换行”,
    “Expected ‘{a}’ to have an indentation at {b} instead at {c}.”:“‘{a}’需要在{c}而不是{b}处缩进”,
    “Line breaking error ‘{a}’.”:“换行错误 ‘{a}’”,
    “Unexpected use of ‘{a}’.”:“此处不能用’{a}’”,
    “Bad operand.”:“错误的操作数”,
    “Use the isNaN function to compare with NaN.”:“使用isNaN来与NaN比较”,
    “Confusing use of ‘{a}’.”:“容易混淆的’{a}’的使用”,
    “Read only.”:“只读的属性”,
    “‘{a}’ is a function.”:“‘{a}’是一个函数”,
    ‘Bad assignment.’:“错误的赋值”,
    “Do not assign to the exception parameter.”:“不要给额外的参数赋值”,
    “Expected an identifier in an assignment and instead saw a function invocation.”:“在赋值的语句中需要有一个标识符,而不是一个方法的调用”,
    “Expected an identifier and instead saw ‘{a}’ (a reserved word).”:“需要有一个标识符,而不是’{a}’(保留字符)”,
    “Missing name in function declaration.”:“在方法声明中缺少名称”,
    “Expected an identifier and instead saw ‘{a}’.”:“需要有一个标识符,而不是’{a}’”,
    “Inner functions should be listed at the top of the outer function.”:“内部函数的声明应该放在此函数的顶部。”,
    “Unreachable ‘{a}’ after ‘{b}’.”:“在’{b}’之后无法获取’{a}’”,
    “Unnecessary semicolon.”:“不必要的分号”,
    “Label ‘{a}’ on {b} statement.”:“将’{a}’放在{b}的声明中”,
    “Label ‘{a}’ looks like a javascrip{过滤}t url.”:“‘{a}’看上去像一个js的链接”,
    “Expected an assignment or function call and instead saw an expression”:“需要一个赋值或者一个函数调用,而不是一个表达式.”,
    “Do not use ‘new’ for side effects.”:“不要用’new’语句.”,
    “Unnecessary ”use strict”.”:“不必要的”use strict”.”,
    “Missing ”use strict” statement.”:“缺少”use strict”的声明”,
    “Empty block.”:“空的模块”,
    “Unexpected /*member ‘{a}’.”:“不应出现 /*元素 ‘{a}’.”,
    “‘{a}’ is a statement label.”:“‘{a}’是一个声明”,
    “‘{a}’ used out of scope.”:“‘{a}’使用超出范围”,
    “‘{a}’ is not allowed.”:“不允许使用’{a}’”,
    “‘{a}’ is not defined.”:“‘{a}’没有被定义”,
    “Use ‘{a}’ to compare with ‘{b}’.”:“使用’{a}’与’{b}’相比”,
    “Variables should not be deleted.”:“变量需要被删除”,
    “Use the object literal notation {}.”:“使用对象的文字符号 {}”,
    “Do not use {a} as a constructor.”:“不要使用{a}作为一个构造对象”,
    “The Function constructor is eval.”:“The Function constructor is eval.”,
    “A constructor name should start with an uppercase letter.”:“一个构造对象的名称必须用大写字母开头.”,
    “Bad constructor.”:“错误的构造对象”,
    “Weird construction. Delete ‘new’.”:“构造对象有误,请删除’new’”,
    “Missing ‘()’ invoking a constructor.”:“缺少括号()”,
    “Avoid arguments.{a}.”:“避免参数.{a}.”,
    “document.write can be a form of eval.”:“document.write是eval的一种形式”,
    ‘eval is evil.’:“尽量不要使用eval”,
    “Math is not a function.”:“Math不是一个函数”,
    “Missing ‘new’ prefix when invoking a constructor.”:“此处缺少了’new’”,
    “Missing radix parameter.”:“缺少参数”,
    “Implied eval is evil. Pass a function instead of a string.”:“传递一个函数,而不是一个字符串”,
    “Bad invocation.”:“错误的调用”,
    “['{a}'] is better written in dot notation.”:“['{a}']最好用点.的方式”,
    “Extra comma.”:“多余的逗号”,
    “Don’t make functions within a loop.”:“不要用循环的方式创建函数”,
    “Unexpected parameter ‘{a}’ in get {b} function.”:“在{b}方法中不该用到参数’{a}’”,
    “Duplicate member ‘{a}’.”:“重复的’{a}’”,
    “Expected to see a statement and instead saw a block.”:“此处应该是语句声明.”,
    “Too many var statements.”:“过多var的声明”,
    “Redefinition of ‘{a}’.”:“‘{a}’被重复定义”,
    “It is not necessary to initialize ‘{a}’ to ‘undefined’.”:“无需将’{a}’初始化为’undefined’”,
    “Expected a conditional expression and instead saw an assignment.”:“此处需要一个表达式,而不是赋值语句”,
    “Expected a ‘break’ statement before ‘case’.”:“在’case’之前需要有’break’.”,
    “Expected a ‘break’ statement before ‘default’.”:“在’default’之前需要有’break’.”,
    “This ‘switch’ should be an ‘if’.”:“此处’switch’应该是’if’.”,
    “All ‘debugger’ statements should be removed.”:“请删除’debugger’的语句”,
    “‘{a}’ is not a statement label.”:“‘{a}’不是一个声明标签.”,
    “Expected an assignment or function call and instead saw an expression.”:“需要一个语句或者一个函数调用,而不是一个表达式”,
    “Function declarations should not be placed in blocks. Use a function expression or move the statement to the top of the outer function.”:“函数的声明不能放在类似if的块中,需要放在外部函数的顶部.”


    针对自己项目中遇到的一些提示,做一些举例说明:

    1 [W099]:Mixed spaces and tabs

    这个错误是最常见的,意思是在同一行中,空格和Tab缩进混合使用了,修改很简单,一般是删除Tab缩进,全部改为空格。为了方便,我们可以把编辑器的Tab缩进设置成2个或4个空格,来代替原有的缩进。

    2 [W030]:Expected an assignment or function call and instead saw an expression

    这个错误提示的很诡异,我是用如下代码提示的这个错误 index-1 <0 ? index = 0:index = index - 1;  这是一个逗号表达式,但是JSLInt认为这里不应该用表达式,而必须是一个函数,所以,如果非常在乎这个错误,就改为if else 语句吧

    3 [W041]:Use '===' to compare with ...

    这个错误是说,我们要是用全等来代替等于,如果表达式两边的数据类型是一致的话,建议使用全等来判断

    4 [W033]:Missing semicolon

    缺少分号;这个一般都是自己忘记写了吧,但是有一个需要注意的是,对于只有一句的结构,后面也需要写分号。例如:if(index<0) {index=tcount-1} 这句代码,正确写法是if(index<0) {index=tcount-1;},我是经常忘记这里写分号,汗...

    其他还有一些错误提示就对照一下改吧,要培养自己良好的代码风格和书写习惯。

    原文链接:https://www.itsvse.com/thread-5178-1-1.html

  • 相关阅读:
    函数名的应用/列表推导式
    装饰器/内置函数
    函数的基础
    文件的改的操作
    常用str
    python 定时器 timer QTimer
    Python 2.7.16 pyinstaller3.0 生成exe可执行文件
    python 根据excel单元格内容获取该单元格所在的行号
    python 实现仪器LAN口通信(FLUKE 8846)
    VS2019 MSB8041 MSB8042 Error
  • 原文地址:https://www.cnblogs.com/changfeng1800/p/10986005.html
Copyright © 2011-2022 走看看