2017-01-20 2 views
8

J'ai un dossier dans mon projet main que je résous comme un module. Par exemple import x from 'main/src' importe main/src/index.js. Ceci est fait grâce à la configuration de l'alias de résolution de webpack.Comment ajouter manuellement un chemin à résoudre dans eslintrc

Un problème que je rencontre est de se débarrasser des erreurs via eslint. Je sais qu'eslint fournit un plugin de résolution de webpack, cependant, j'ai eu du mal à le faire fonctionner. Je pense que c'est parce que je suis sur le webpack 2 et en utilisant es6 dans mes fichiers de configuration webpack.

Existe-t-il une méthode manuelle pour écrire un paramètre de résolution qui résout ce problème pour mon eslint?


Le seul autre bidouille que j'ai vu le travail est d'utiliser import/core-modules mais je dois lister tous les dossiers dans l'arborescence du sous-répertoire main/src/bar, main/src/foo. Ce ne serait pas idéal.

Répondre

24

Je pense que le lien ci-dessous vous aide. Vous pouvez ajouter des répertoires de résolution à l'aide de config.

https://github.com/benmosher/eslint-plugin-import#resolvers

Par exemple, si vous voulez résoudre src/, vous pouvez écrire comme ci-dessous sur .eslintrc.

{ 
    "settings": { 
    "import/resolver": { 
     "node": { 
     "paths": ["src"] 
     } 
    } 
    } 
} 

Puis ESLint résoudre à partir du répertoire src. Vous pouvez exiger src/hoge/moge.js en écrivant const moge = require('hoge/moge'); et ESLint le sait.

+0

La configuration ESLint n'est pas valide: \t - "Paramètres" de propriété de niveau supérieur inattendus. – stevematdavies

+0

Excellente solution pour la résolution dans WebStorm IDE, mais webpack essaye d'installer ces modules: 'import {STATE_FICHE as initialState} de 'data-structures/fiche';' webpack dit: 'Installation de structures de données ...' et échoue. Y a-t-il des solutions pour Webpack2? –