今回は、webpack 構成のパッケージ化画像パスのエラーに対処する方法を説明します。webpack 構成のパッケージング画像パスのエラーに対処する場合の注意事項は何ですか?実際のケースを見てみましょう。
問題
プロジェクトは開発環境で正常に動作しますが、要素を確認したところ、パスが間違っていることがわかりました。 画像のパスは次のようになります:background: url(/static/img/bg_camera_tip.bd37151.png) ですが、このパスにはファイルが存在しません。
パッケージ化されたファイルのディレクトリは次のとおりです: 背景画像のパスは ../../static である必要があることがわかりますが、理由がわかると、実際には /static になります。解決しました方法1
ビルドディレクトリ内のwebpack.base.conf.jsの構成を確認してください。画像ファイルはurl-loaderによって処理されます。module: { rules: [ ... { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, name: utils.assetsPath('img/[name].[hash:7].[ext]') } }, ... ] }
module: { rules: [ ... { test: /\.(png|jpe?g|gif|svg)(\?.*)?$/, loader: 'url-loader', options: { limit: 10000, publicPath: '../../', //你实际项目的引用地址前缀 name: utils.assetsPath('img/[name].[hash:7].[ext]') } }, ... ] }
webpack.base.conf.js にもルールがあります。各 vue ファイルは vueLoaderConfig によって処理されます
module: { rules: [ { test: /\.vue$/, loader: 'vue-loader', options: vueLoaderConfig }, ... ] }
if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader' }) }
return { css: generateLoaders(), postcss: generateLoaders(), less: generateLoaders('less'), sass: generateLoaders('sass', { indentedSyntax: true }), scss: generateLoaders('sass'), stylus: generateLoaders('stylus'), styl: generateLoaders('stylus') }
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
Node.js+コンソール出力ログファイルの分析例以上がWebpack 構成パッケージングイメージパスのエラーに対処する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。