私はgulpからwebpackへの移行を行っています。で処理したい画像をstatic/img
フォルダに入れて、build/public/img
フォルダにコピーしています。 file-loader
私はこれに何を使用しますか?問題は、画像がコピーされていないことです。実際、このローダーはビルド中に無視されているようです。ファイルローダーは対処イメージではありません
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const path = require('path');
module.exports = {
context: path.resolve(__dirname, 'static'),
entry: ['./js/frontend.js','./sass/app.scss'],
output: {
path: path.join(__dirname, 'build/public'),
filename: 'js/frontend.js'
},
module: {
rules: [
{
test: /\.(jpe?g|png|gif|svg)$/,
loader: [
'file-loader?name=img/[name].[ext]',
'image-webpack-loader?bypassOnDebug&optimizationLevel=7&interlaced=false'
]
},
{
test: /\.(sass|scss)$/,
loader: ExtractTextPlugin.extract({
use: [{
loader: 'css-loader',
options: {
sourceMap: true
}
},
{
loader: 'sass-loader',
options: {
sourceMap: true
}
}]
})
}
]
},
plugins: [
new ExtractTextPlugin({
filename: 'css/styles.css',
allChunks: true
})
],
devtool: 'source-map'
};
あなたが画像を必要と言うときあなたはWebPACKのは、HTMLファイルにIMGタグを探していることを意味しています:
static/img
フォルダからのすべての資産を必要とするようにWebPACKのを強制的に./js/frontend.js
内のコード次入れ?これは、私が投稿したコードがPugを使用するNodeJSアプリケーションの一部であるため、webpackが何も見つからなかった理由を説明します。 – SmellydogCoding
それは正しいです。 WebpackはあなたのHTMLがこれらの画像を使用していることを知らない。 React/Vue/Angularを使用してウェブサイトを構築する場合は、img/logo.png;からJavaScriptモジュールのimportロゴと同じ方法でイメージをインポートしてから処理することができます。あなたの場合、上記のソリューションを使用してWebpackにイメージを要求/インポートさせる必要があります。 –