Titre réécrit comme : Améliorer la beauté des erreurs de boucle ESLint
P粉010967136
2023-08-25 12:50:19
<p>Je crée un composant vue</p>
<p>Mais j'obtiens l'erreur suivante</p>
<pre class="brush:php;toolbar:false;">Les annotations de type ne peuvent être utilisées que dans les fichiers TypeScript.</pre>
<p>Si je supprime la clause type, j'obtiens</p>
<pre class="brush:php;toolbar:false;">Type de retour manquant sur la fonction.</pre>
<p>Le composant ressemble à : </p>
<pre class="brush:php;toolbar:false;"><template>
<pre>Marché :{{ market }}</pre>
</modèle>
<script>
importer le marché depuis "./Market" ;
exporter par défaut {
nom : Marché,
Composants: {},
data() { //<--- le problème est signalé ici
retour {
marché : nouveau marché(),
} ;
},
} ;
</script></pre>
<p>Je suppose que j'ai un conflit entre les configurations plus jolie et eslints, donc l'un voit vue comme compatible TS et l'autre ne le fait pas</p>
<p>J'ai essayé divers ajustements et modifications, mais jusqu'à présent, aucune différence. Quelqu'un peut-il m'indiquer la configuration correcte pour résoudre ce problème ?</p>
<p>tsconfig.json</p>
<pre class="brush:php;toolbar:false;">{
"Options du compilateur": {
"cible": "suivant",
"module": "suivant",
"strict" : vrai,
"jsx": "préserver",
"importHelpers": vrai,
"moduleResolution": "nœud",
"experimentalDecorators": vrai,
"skipLibCheck": vrai,
"esModuleInterop": vrai,
"allowSyntheticDefaultImports": vrai,
"sourceMap": vrai,
"baseUrl": ".",
"les types": [
"webpack-env"
],
"chemins": {
"@/*": [
"src/*"
]
},
"lib": [
"suivant",
"dom",
"dom.iterable",
"hôte de script"
]
},
"inclure": [
"src/**/*.ts",
"src/**/*.tsx",
"src/**/*.vue",
"essais/**/*.ts",
"tests/**/*.tsx"
],
"exclure": [
"noeud_modules"
]
}</pré>
<p>babel.config.js</p>
<pre class="brush:php;toolbar:false;">module.exports = {
préréglages : ["@vue/cli-plugin-babel/preset"],
};</pré>
<p>设置,json</p>
<pre class="brush:php;toolbar:false;">{
"editor.insertSpaces": faux,
"editor.minimap.enabled": faux,
"files.eol": "n",
"workbench.sideBar.location": "à droite",
"php-cs-fixer.executablePath": "${extensionPath}php-cs-fixer.phar",
"lancement": {
"configurations": [],
"composés": []
},
"debug.javascript.usePreview": faux,
"window.zoomLevel": 3,
"eslint.format.enable": vrai
}</pré>
<p>package.json</p>
<pre class="brush:php;toolbar:false;">{
"dépendances": {
"core-js": "^3.6.5",
"vue": "^3.0.0",
"vue-class-component": "^8.0.0-0"
},
"dépendances dev": {
"@typescript-eslint/eslint-plugin": "^4.18.0",
"@typescript-eslint/parser": "^4.18.0",
"@vue/cli-plugin-babel": "~4.5.0",
"@vue/cli-plugin-eslint": "~4.5.0",
"@vue/cli-plugin-typescript": "~4.5.0",
"@vue/cli-service": "~4.5.0",
"@vue/compiler-sfc": "^3.0.0",
"@vue/eslint-config-prettier": "^6.0.0",
"@vue/eslint-config-typescript": "^7.0.0",
"eslint": "^6.7.2",
"eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-vue": "^7.0.0",
"plus joli": "^2.2.1",
"typescript": "~4.1.5"
},
"eslintConfig": {
"racine": vrai,
"env": {
"nœud": vrai
},
"étend": [
"plugin:vue/vue3-essential",
"eslint : recommandé",
"@vue/typescript/recommandé",
"@vue/plus jolie",
"@vue/plus joli/@typescript-eslint"
],
"ParserOptions": {
"ecmaVersion": 2020
},
"règles": {}
},
"liste des navigateurs": [
"> 1 %",
"2 dernières versions",
"pas mort"
]
}</pré>
<p><br /></p>
J'ai également rencontré le même problème auparavant et je l'ai résolu avec le code suivant :
Si cela fonctionne pour vous, faites-le-moi savoir.