2016-06-12 30 views
5

私はWebpackのプロジェクトで、私はSASSの蒸解をセットアップしようとしています。私はかなり近いと信じていますが、私の設定に問題があります(code and details in the gist here)。そのままコードでESLintでインポート/未解決のエラーを解決するにはどうすればよいですか?

実行中のWebPACKには、次のエラーが得られます。

/foobar/src/js/components/App.jsx 
    6:8 error Unable to resolve path to module '../../scss/components/app' import/no-unresolved 

は、この上でしばらく過ごし、私はimport '../../scss/components/app.scss'App.jsximport 'scss/components/app'ラインを交換する場合、transpilationが機能することを指摘しました。

    相対輸入が働くので、私の resolve.root WebPACKの設定が機能していない
  1. はなく、絶対的なもの:これは二つの問題があることを信じて私をリードしています。
  2. 私のresolve.extensions Webpackの設定が適用されていません。なぜなら、ファイル拡張子.scssを追加する必要があるからです。

その他の注意事項:

  • 私はWebPACKの1.13.1を使用しています。
  • 意図的にSCSSファイルに構文エラーを導入すると、webpackはそのファイルの問題を正しく表示します。
  • resolve.rootの設定を配列(つまり[path.resolve(__dirname, './src')])として設定してみました。
  • ゴール、私はthis exampleのようなものを達成したいと考えています。
  • のパスをconsole-loaderでデバッグしようとしましたが、undefinedを取得しています。

ありがとうございます、ありがとうございます!

UPDATE:。 友人はただ問題はsass-loaderの/ etcからではなく来ていることを共有しますが、eslintから。これは、この質問の性質がかなり異なることになることを意味します(webpackが少ない、もっとeslintが少ない)。

とにかく、私の.eslintrcは、AirBNBのものを拡張しています。私は、this pluginの詳細に基づいて修正する必要があると推測しています。

関心の一部は次のとおりです。

settings: 
    import/ignore: 
    - node_modules  # mostly CommonJS (ignored by default) 
    - \.coffee$   # fraught with parse errors 
    - \.(scss|less|css)$ # can't parse unprocessed CSS modules, either 

私は似ているように私の.eslintrcを更新しました:

{ 
    "extends": "airbnb", 
    "settings": { 
     "import/ignore": [".scss$"] 
    } 
} 

しかし、まだエラーを取得しています。何か案は?

答えて

4

要点にすべてのファイルを投稿できますか?私はコードを見るだけで問題を探してみましたが、webpack configのすべてのファイルとインポートファイルを持つ実行可能な例が役立ちます。

なぜプリローダーの代わりにローダーにeslintを追加したのか不思議です。プリローダーに追加する必要があります。

+1

クイックレスポンスありがとう! ESLintを 'module.loaders'から' module.preloaders'に移動すると、実際に問題が解決されました。 –

関連する問題