プロジェクトにmain
というフォルダーがあり、それをモジュールのように解決しています。たとえば、import x from 'main/src'
はmain/src/index.js
をインポートします。これは、webpackのエイリアス解決設定を通じて行われます。
私が抱えている問題は、eslintを介してエラーを取り除くことです。 eslintがwebpack resolveプラグインを提供していることは知っていますが、それを機能させるのに苦労しています。これは、webpack 2を使用していて、webpack構成ファイルでes6を使用しているためだと思われます。
私のエスリントのこの問題を解決する解決設定を手動で記述する方法はありますか?
私が仕事を見た他の唯一のハックはimport/core-modules
を使用していますが、サブディレクトリツリーmain/src/bar
、main/src/foo
のすべてのフォルダをリストする必要があります。これは理想的ではありません。
以下のリンクが役立つと思います。 configを使用して解決ディレクトリを追加できます。
https://github.com/benmosher/eslint-plugin-import#resolvers
たとえば、src/
を解決する場合は、.eslintrc
に次のように記述できます。
{
"settings": {
"import/resolver": {
"node": {
"paths": ["src"]
}
}
}
}
次に、srcディレクトリからESLintが解決します。 const moge = require('hoge/moge');
と書くことでsrc/hoge/moge.js
を要求でき、ESLintはそれを知っています。
この質問を見るには遅すぎます。実際、 eslint-import-resolver-alias という名前のリゾルバーが既にあり、以下の設定でこの機能を実装しています。
{
settings: {
'import/resolver': {
'alias': [
['main/src', './main/src']
]
}
}
}