具有4个空间标识的Vue-CLI

时间:2018-10-08 17:58:31

标签: vuejs2 eslint vue-cli vue-cli-3

我对Vue完全陌生。

我要使用CLI,并且要有4个空格缩进(带有打字稿和vuex)。但是经过24小时的苦苦挣扎,我几乎无法完成任何工作。如果不可能的话,也请让我知道。

我认为tslint是解决之道,但找不到解决方案。所以我尝试了eslint并将其添加到package.json

  "devDependencies": {
    "@vue/cli-plugin-eslint": "^3.0.4",
    "@vue/cli-plugin-pwa": "^3.0.4",
    "@vue/cli-plugin-typescript": "^3.0.4",
    "@vue/cli-service": "^3.0.4",
    "@vue/eslint-config-prettier": "^3.0.4",
    "@vue/eslint-config-typescript": "^3.0.4",
    "eslint": "^5.6.1",
    "eslint-plugin-vue": "^5.0.0-beta.3",      // <------------------
    "typescript": "^3.0.0",
    "vue-template-compiler": "^2.5.17"
  }

那是我拥有的eslintrc

 module.exports = {
    root: true,
    env: {
        node: true
    },
    extends: ["plugin:vue/essential", "@vue/prettier", "@vue/typescript"],
    rules: {
        "no-console": process.env.NODE_ENV === "production" ? "error" : "off",
        "no-debugger": process.env.NODE_ENV === "production" ? "error" : "off",
        "vue/script-indent": ["error", 4, { baseIndent: 1 }],
        indent: ["error", 4]
    },
    parserOptions: {
        parser: "typescript-eslint-parser"
    }
};

然后我跑步

$ npx eslint --fix *.js
=============

WARNING: You are currently running a version of TypeScript which is not officially supported by typescript-eslint-parser.

You may find that it works just fine, or you may not.

SUPPORTED TYPESCRIPT VERSIONS: ~3.0.1

YOUR TYPESCRIPT VERSION: 3.1.1

Please only submit bug reports when using the officially supported version.

=============

/Users/x/code/sync/vue/restos2/postcss.config.js
  2:1  error  Expected indentation of 4 spaces but found 2  indent
  3:1  error  Expected indentation of 8 spaces but found 4  indent
  4:1  error  Expected indentation of 4 spaces but found 2  indent

✖ 3 problems (3 errors, 0 warnings)
  3 errors and 0 warnings potentially fixable with the `--fix` option.
but the problem is that no files ever get changed.

1 个答案:

答案 0 :(得分:1)

如tslint文档中所述,缩进规则不会固定错误数量的缩进字符,它仅修正字符类型,这意味着它可以将制表符转换为空格,反之亦然,但不能将4个空格转换为2个空格

  

注意:自动修复只会将无效的缩进空格转换为所需的类型,而不会修复无效的空格大小。

https://palantir.github.io/tslint/rules/indent/

是的,你必须跟埃斯林特一起去。我看不到完整的eslintrc文件,但我认为主要问题可能是以下行:data。尝试删除它。

此eslint配置对我有用:

indent: ["error", 4]

并运行{ "root": true, "env": { "node": true }, "extends": [ "plugin:vue/essential", "eslint:recommended", "@vue/typescript" ], "rules": { "vue/script-indent": ["error",2,{"baseIndent": 1}] }, "parserOptions": { "parser": "typescript-eslint-parser" } }