webpack sass-loaderを使用して、背景画像を含む.scss
ファイルを読み込もうとしています。 .scss
の一部は Webpack:scssファイルの背景画像を表示しない
{
test: /\.scss$/,
exclude: /node_modules/,
loaders: ['raw-loader', 'sass-loader'] // sass-loader not scss-loader
},
{
test: /\.(png|jpg|gif)$/,
loader: 'url-loader?limit=8192'
}, // inline base64 URLs for <=8k images, direct URLs for the rest
マイ.scss
ファイルがsrc/app/components/login/
であり、画像がsrc/images/
である
.clouds_two {
background: url(require("../../../images/cloud_two.png")); //no error, just not display
//background: url("../../../images/cloud_two.png"); // 404 error
position: absolute;
left: 0;
top: 0;
height: 100%;
width: 300%;
-webkit-animation: cloud_two 75s linear infinite;
-moz-animation: cloud_two 75s linear infinite;
-o-animation: cloud_two 75s linear infinite;
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-o-transform: translate3d(0, 0, 0)
}
対応ローダーのようなものです。 Webpack出力フォルダはdist
で、src
フォルダと同じレベルです。
問題は、私がbackground: url(require("../../../images/cloud_two.png"));
を使用すると、エラーはありませんが背景画像は表示されません。
background: url("../../../images/cloud_two.png");
を使用している場合、http://localhost:8080/images/cloud_two.png
と不平を言っている404エラーがあります。
sass-loaderのreadmeにはProblems with url(...)
セクションがありますが、私の場合は修正できません。
使用されるURLは、sassファイルに関連している必要があります。ネットワークタブを調べると、実際に画像がダウンロードされますか? – cgatian
@cgatianええ、私は '.png'ファイルにアクセスするために相対URLを使います。ブラウザはファイルをダウンロードしようとしますが、404を取得します。 –