记录vue-cli3.0+typescript项目:Eslint+prettier一些报错以及解决方法

记录vue-cli3.0+typescript项目:Eslint+prettier遇到的一些报错以及得到的解决方法
1、一直报错 error Delete ‘........’,或者是warning Delete、warning Insert ‘..’这种找不到问题的错误


解决方法 可执行代码:
npm run lint --fix






2、typescript数据指定类型一直报错意外的类型这种问题


这里是因为我没有配置typescrpt,需要在.prettierrc.js加上配置
parser: 'typescript'


然后重新启动项目就可以了
3、发现怎么配置度有很多报错,查了各种资料原来是.prettierrc.js和.eslintrc.js配置问题,一开始去配置tslint.json,但是很多博主都说eslint停止维护了不用他,这里上一下新的.prettierrc.js和.eslintrc.js配置文档,1-2作为记录就不删除了,以便以后回顾时候看看自己走过的路





eslint 的原理是,先解析代码 AST 语法树,再对其分析以发现代码质量和风格问题。
因此需要指定 parser,来解析代码语法。
一方面,我们得让 eslint  理解 vue 的语法。因此 parser 的值需要设置为 ’vue-eslint-parser‘
推荐设置 "extends": ["plugin:vue/base"] 或 "extends": ["plugin:vue/base"] ,该设置同时设置了vue 语法解析器 和 eslint 规则
这里有个需要注意的地方,parser 不能再指定别的值,否则会报错 "Use the latest vue-eslint-parser"(https://vuejs.github.io/eslint-plugin-vue/user-guide/#faq
另一方面,我们还得让 eslint 理解 typescript  的语法。所以作为补充,需要添加配置 parserOptions: { parser: '@typescript-eslint/parser' }




module.exports = {

    printWidth: 120, // 换行字符串阈值

    tabWidth: 4, // 设置工具每一个水平缩进的空格数

    singleQuote: true, // 用单引号

    semi: false, // 句末是否加分号

    trailingComma: 'none', // 最后一个对象元素加逗号

    bracketSpacing: true, // 对象,数组加空格

    jsxBracketSameLine: true, // jsx > 是否另起一行

    arrowParens: 'always', // (x) => {} 是否要有小括号

    parser: 'typescript' // 指定使用哪一种解析器

}

module.exports = {

    root: true,

    env: {

    node: true

    },

    extends: [

        'plugin:vue/essential',

        "plugin:prettier/recommended",

        '@vue/prettier',

        'eslint:recommended',

        '@vue/typescript/recommended',

        '@vue/prettier/@typescript-eslint'

    ],

    rules: {

        'no-console': process.env.NODE\_ENV \=== 'production' ? 'warn' : 'off',

        'no-debugger': process.env.NODE\_ENV \=== 'production' ? 'warn' : 'off',

        'no-unused-vars': 'off',

        '@typescript-eslint/no-unused-vars': 'off',

        '@typescript-eslint/no-explicit-any': 'off',

        'prefer-const': 'off'

    },

    /* 指定如何解析语法。可以为空,但若不为空,只能配该值*/

    parser: 'vue-eslint-parser',

    parserOptions: {

        ecmaVersion: 2020,

        parser: '@typescript-eslint/parser'

    },

    overrides: [

        {

            files: ['**\_\_tests\_\_\*.{j,t}s?(x)'],

            env: {

                mocha: true

               }

        }

    ]

}

但是启动项目以后还是会有warning,项目能启动,但是这个问题我查了很久都找不出解决办法,请问有大佬补充吗?


代码上是黄色的波浪线










原文链接:segmentfault.com

上一篇:@lwc/eslint-plugin-lwc
下一篇:Vue Router

相关推荐

官方社区

扫码加入 JavaScript 社区