2017-04-12 6 views
1

私はLeaflet 1.0.3のReactプロジェクトを持っています。 CSS-ローダーを使用していますWebPACKの建物では、私が取得:これはleaflet.cssで使用される相対的なイメージのパスがあるためであると思わcss-loaderでurl()チェックを無効にする

 
ERROR in ./~/css-loader!./~/leaflet/dist/leaflet.css 
Module not found: Error: Can't resolve './images/layers.png' in '/home/tim/work/portal/node_modules/leaflet/dist' 
resolve './images/layers.png' in '/home/tim/work/portal/node_modules/leaflet/dist' 
    using description file: /home/tim/work/portal/node_modules/leaflet/package.json (relative path: ./dist) 
    Field 'browser' doesn't contain a valid alias configuration 
    after using description file: /home/tim/work/portal/node_modules/leaflet/package.json (relative path: ./dist) 
    using description file: /home/tim/work/portal/node_modules/leaflet/package.json (relative path: ./dist/images/layers.png) 
     as directory 
     /home/tim/work/portal/node_modules/leaflet/dist/images/layers.png doesn't exist 
     no extension 
     Field 'browser' doesn't contain a valid alias configuration 
     /home/tim/work/portal/node_modules/leaflet/dist/images/layers.png doesn't exist 
     .js 
     Field 'browser' doesn't contain a valid alias configuration 
     /home/tim/work/portal/node_modules/leaflet/dist/images/layers.png.js doesn't exist 

 
{ 
     test: /\.css$/, 
     exclude: [/node_modules/, /sanitize/], 
     use: [ 
      'style-loader', 
      { 
      loader: 'css-loader', 
      options: { 
       url: false, // leaflet uses relative paths 
       minimize: false, 
       modules: false, 
      } 
      } 
     ] 
     }, 

と、私はcss-loaderのチェックを無効にしようとしましたが、文書化されたオプションは明らかに機能しません。

答えて

0

より詳細にnode_modulesに見ると、yarn add [email protected]node_modules/leaflet/dist/に何のイメージディレクトリや画像を入れていません。レポのクローンから画像をコピーすると、問題が解決されます。

0

また、私は窓の下に少なくとも

糸が

が正しく画像フォルダを-missing node_modulesにリーフレットの依存関係をインストールしていないリーフレットを追加することを確認することができます。しかし、NPMに固執すれば、大丈夫です。

NPMインストール--saveリーフレット

1

私は正確に同じ問題を持っていたし、私のプロジェクトに.yarncleanファイルからライン「画像」を除去することによって、それを修正しました。

プロジェクトに.yarncleanがある場合、yarnはnode_modulesを消去してパターンに一致するすべてのファイルを削除します。したがって、node_modules/leftlet/dist /内のイメージディレクトリも削除されました。

糸Githubリポジトリのthis closed issueも参照してください。

0

次の2つのソリューションを持っている:

  1. は非常に良い解決策ではありません、あなたのWebpackファイル、内url()を持っているいくつかのCSSファイルを除外します。
  2. Webpackの設定ではurl-loaderを使用し、すべてのローダーがURLアドレスを無視するように設定すると、url-loaderを静的に設定します。

私は同じ問題を抱え、それを第2の方法で修正しました。

関連する問題