6
votes

Pourquoi linter ne peluche pas sur le modèle dans vue js?

Je ne parviens pas à faire en sorte que le linter lint la partie template de mes fichiers .vue. Avez-vous des informations sur ce que je dois changer dans mes configurations?

Dans l'ensemble, j'aimerais que le linter ajuste quelque chose comme ceci:

// package.json
{
  "name": "mobile.zmittag",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint",
    "i18n:report": "vue-cli-service i18n:report --src './src/**/*.?(js|vue)' --locales './src/locales/**/*.json'",
    "postinstall": "npm run build",
    "start": "node server.js",
    "test:unit": "vue-cli-service test:unit"
  },
  "dependencies": {
    "auth0-js": "^9.10.1",
    "axios": "^0.18.0",
    "connect-history-api-fallback": "^1.6.0",
    "core-js": "^2.6.5",
    "express": "^4.16.4",
    "register-service-worker": "^1.6.2",
    "serve-static": "^1.13.2",
    "vue": "^2.6.6",
    "vue-i18n": "^8.0.0",
    "vue-router": "^3.0.1",
    "vuetify": "^1.5.5",
    "vuex": "^3.0.1"
  },
  "devDependencies": {
    "@kazupon/vue-i18n-loader": "^0.3.0",
    "@vue/cli-plugin-babel": "^3.5.0",
    "@vue/cli-plugin-eslint": "^3.5.1",
    "@vue/cli-plugin-pwa": "^3.5.0",
    "@vue/cli-plugin-unit-jest": "^3.5.0",
    "@vue/cli-service": "^3.5.0",
    "@vue/eslint-config-standard": "^4.0.0",
    "@vue/test-utils": "1.0.0-beta.29",
    "babel-core": "7.0.0-bridge.0",
    "babel-eslint": "^10.0.1",
    "babel-jest": "^23.6.0",
    "eslint": "^5.8.0",
    "eslint-plugin-vue": "^5.0.0",
    "fibers": "^3.1.1",
    "sass": "^1.17.2",
    "sass-loader": "^7.1.0",
    "stylus": "^0.54.5",
    "stylus-loader": "^3.0.1",
    "vue-cli-plugin-i18n": "^0.6.0",
    "vue-cli-plugin-vuetify": "^0.5.0",
    "vue-template-compiler": "^2.5.21",
    "vuetify-loader": "^1.0.5"
  }
}

À ceci:

// .eslintrc
module.exports = {
  root: true,
  env: {
    node: true
  },
  'extends': [
    'plugin:vue/essential',
    '@vue/standard'
  ],
  rules: {
    'no-console': process.env.NODE_ENV === 'production' ? 'error' : 'off',
    'no-debugger': process.env.NODE_ENV === 'production' ? 'error' : 'off'
  },
  parserOptions: {
    parser: 'babel-eslint'
  }
}

Voici mes configurations:

<template>
  <v-container>
    <h1>Home</h1>
  </v-container>
</template>

et les dépendances:

<template>
  <v-container>
              <h1>Home</h1>
  </v-container>
</template>


2 commentaires

Pouvez-vous montrer votre configuration Webpack et comment vous lancez la charpie?


Je n'ai pas accès à la configuration du webpack, car j'ai créé le projet via la vue cli. Je commence le linter avec peluche de fil


3 Réponses :


1
votes

La commande par défaut eslint ne lint que les fichiers JS

Essayez de changer votre commande lint dans votre package.json

De "lint": "vue-cli-service lint" à "lint": "vue-cli-service lint --ext .js, .vue"

Cela devrait permettre à eslint de peluche vos fichiers .vue


3 commentaires

Merci pour la réponse. Mais cela ne fonctionne pas même si j'ajoute cette partie d'extension.


@Dominik Votre commande lint lint JS fait-elle partie de votre composant single files? Si oui, je pensais que vous aviez mal configuré eslint pour corriger les modèles, dites-moi si oui ou non et je modifierai ma réponse à propos de ce cas


Le linter ne peluche pas la partie js de mes composants. Je pense que cela fait même partie du html, par exemple si je n'ai pas de balise de fin pour une balise d'ouverture, elle s'affiche. Mais cela ne peluche pas les choses comme n'avoir qu'un seul onglet (par exemple, voir mon exemple dans la question)



0
votes

Si vous utilisez l'éditeur vscode , il vous suffit d'appuyer sur ctrl + shift + i et de voir le résultat comme vous le souhaitez.


0 commentaires

0
votes

Le problème est que vous avez besoin d'un plugin vue / eslint personnalisé. Consultez la documentation pour plus d'informations et les règles disponibles.


0 commentaires