ホームページ ウェブフロントエンド jsチュートリアル vue:src ファイルパスエラーの問題に対処する方法

vue:src ファイルパスエラーの問題に対処する方法

May 21, 2018 pm 01:59 PM
どうやって 間違い 質問

今回は、vue:src ファイル パス エラーの問題に対処する方法を説明します。vue:src ファイル パス エラーの問題に対処するときの 注意事項 は何ですか?実際のケースを見てみましょう。

まず第一に、vue-cli のアセットと

static の 2 つのファイルの違いを説明しましょう。これは、次の解決策を理解するのに役立つからです

アセット: プロジェクト中に webpack によって処理および解析されますコンパイル プロセス モジュールの依存関係については、< img src="./logo.png"> および <code><a href="http://www%20%E3%81%AA%E3%81%A9%E3%81%AE%E7%9B%B8%E5%AF%BE%E3%83%91%E3%82%B9%E5%BD%A2%E5%BC%8F%E3%81%AE%E3%81%BF%E3%81%8C%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%20.php.cn/wiki/892.html" target="_blank">background<p style="text-align: left;">:url(./logo.png)</p></a>、「./logo.png」は解決される相対リソース パスです。モジュールの依存関係として webpack によって img src=”./logo.png”><a href="http://www.php.cn/wiki/892.html" target="_blank">background</a>:url(./logo.png),”./logo.png”是相对资源路径,将有webpack解析为模块依赖
 static:在这个目录下文件不会被webpack处理,简单就是说存放第三方文件的地方,不会被webpack解析。他会直接被复制到最终的打包目录(默认是dist/static)下。必须使用绝对路径引用这些文件,这是通过config.js文件中的build.assetsPublicbuild.assertsSubDirectory链接来确定的。任何放在static/中文件需要以绝对路径的形式引用:/static[filename]
 根据webpack的特性,总的来说就是static放不会变动的,第三档的文件,asserts放可能会变动的文件

问题来了,用js动态加载assets或者本文件的图片出现404的状态码

代码实例

<li v-for="(item,index) in images" :key="index">
<img :src="item.src"></li>
//js部分
data(){
 return {
 images:[{src:'./1.png'},{./2.png}]
 }
}
ログイン後にコピー

跑起来发现图片不显示,错误码为404,

 原因:在webpack中会将图片图片来当做模块来用,因为是动态加载的,所以url-loader将无法解析图片地址,然后npm run dev 或者npm run build之后导致路径没有被加工【被webpack解析到的路径都会被解析为/static/img/[filename].png,完整地址为localhost:8080/static/img/[filename].png

 解决办法:

  ①将图片作为模块加载进去,比如images:[{src:<a href="http://www.php.cn/wiki/136.html" target="_blank">require</a>(‘./1.png')},{src:require(‘./2.png')}]这样webpack就能将其解析。

  ②将图片放到static目录下,但必须写成绝对路径如images:[{src:”/static/1.png”},{src:”/static/2.png”}]这样图片也会显示出来,当然你也可以通过在webpack.base.config.js static: このディレクトリ内のファイルは webpack によって処理されません。簡単に言えば、サードパーティのファイルが保存されている場所は webpack によって解析されません。これは、最終的なパッケージング ディレクトリ (デフォルトは dist/static) に直接コピーされます。これらのファイルは、絶対パス を使用して参照する必要があります。これは、config.js ファイルの build によって行われます。 .assetsPublic および build.assertsSubDirectory リンクによって決定されます。 static/ に配置されたファイルは、絶対パスの形式で参照する必要があります: /static[filename]

webpack の特性によると、一般に、静的ファイルは変更されず、3 番目のファイルは変更される可能性があります。 . ファイル

ここで問題が発生します。js を使用してこのファイルのアセットまたは画像を動的に読み込むと、

コード例

rrreee 実行すると、画像が表示されず、エラーが発生することがわかりました。コードは 404 でした

理由: webpack では、画像は動的にロードされるため、npm run dev または npm run build 後に画像アドレスを解析できません。パスは処理されません [webpack によって解析されるパスは /static/img/[filename].png として解析されます。完全なアドレスは localhost:8080/static/img/[filename] です。 ].png]

解決策:

image などのモジュールとして画像を読み込みます。 [{src:<a href="http://www.php%20.cn/wiki/136.html" target="_blank">require<p style="max-width:90%">('./1.png')},{src:require(' ./2.png')}]</p></a>このようにして、Webpack はそれを解析できます。

②画像をstaticディレクトリに置きますが、images:[{src:”/static/1.png”},{src:”/static/2.png”}のように絶対パスを記述する必要があります。 ]このようにすると、もちろん画像も表示されますが、webpack.base.config.jsで定義することでパスの記述長を短くすることもできます。

もちろん、ローカル画像が多すぎるとこうやって書くのは面倒だというお話ですが、実際にはこのように操作を簡略化しています。

ステップ 1: 静的で新しい json フォルダーを作成します

パート 2: 図に示すように、json ファイルを入力します

パート 3: 対応する vue ファイルに json を導入し、解析するだけです参考資料

🎜🎜🎜 この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。 🎜🎜推奨読書: 🎜🎜🎜 AngularJS で $http サービスを使用する方法の詳細な説明🎜🎜🎜🎜🎜vue addRoutes 動的パーミッションルーティングメニューを実装する手順の詳細な説明🎜🎜🎜

以上がvue:src ファイルパスエラーの問題に対処する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

操作を完了できません (エラー 0x0000771) プリンター エラー 操作を完了できません (エラー 0x0000771) プリンター エラー Mar 16, 2024 pm 03:50 PM

プリンターの使用中に、操作を完了できませんでした (エラー 0x00000771) などのエラー メッセージが表示された場合は、プリンターが切断されている可能性があります。この場合、以下の方法で問題を解決できます。この記事では、Windows 11/10 PC でこの問題を解決する方法について説明します。エラー メッセージ全体には、「操作を完了できませんでした (エラー 0x0000771)」が示されています。指定されたプリンターは削除されました。 Windows PC で 0x00000771 プリンター エラーを修正する プリンター エラーを修正するには、操作を完了できませんでした (エラー 0x0000771)。指定されたプリンターは Windows 11/10 PC で削除されています。次の解決策に従ってください: 印刷スプールを再起動します

Windows サンドボックスの起動に失敗しました - アクセスが拒否されました Windows サンドボックスの起動に失敗しました - アクセスが拒否されました Feb 19, 2024 pm 01:00 PM

Windows サンドボックスは、「Windows サンドボックスを開始できない、エラー 0x80070005、アクセスが拒否されました」というメッセージで終了しますか?一部のユーザーは、Windows サンドボックスを開けないと報告しました。このエラーが発生した場合も、このガイドに従って修正できます。 Windows サンドボックスの起動に失敗しました - アクセスが拒否されました Windows サンドボックスが「Windows サンドボックスを開始できません、エラー 0x80070005、アクセスが拒否されました」というメッセージで終了する場合は、管理者としてログインしていることを確認してください。このタイプのエラーは、通常、権限が不十分であることが原因で発生します。したがって、管理者としてログインして、問題が解決するかどうかを確認してください。問題が解決しない場合は、次の解決策を試すことができます。 管理者として Wi-Fi を実行します。

HTTPステータスコード460の原因を明らかにする HTTPステータスコード460の原因を明らかにする Feb 19, 2024 pm 08:30 PM

HTTP ステータス コード 460 の復号化: このエラーはなぜ発生しますか?はじめに: 日常のネットワーク使用では、HTTP ステータス コードを含むさまざまなエラー プロンプトに遭遇することがよくあります。これらのステータス コードは、リクエストの処理を示すために HTTP プロトコルによって定義されたメカニズムです。これらのステータス コードの中には、比較的まれなエラー コード 460 があります。この記事では、このエラー コードを詳しく説明し、このエラーが発生する理由を説明します。 HTTP ステータス コード 460 の定義: まず、HTTP ステータス コードの基本を理解する必要があります。

Windows Update プロンプト エラー 0x8024401c エラーの解決策 Windows Update プロンプト エラー 0x8024401c エラーの解決策 Jun 08, 2024 pm 12:18 PM

目次 解決策 1 解決策 21. Windows Update の一時ファイルを削除します。 2. 破損したシステム ファイルを修復します。 3. レジストリ エントリを表示および変更します。 4. ネットワーク カード IPv6 をオフにします。 5. WindowsUpdateTroubleshooter ツールを実行して修復します。 6. ファイアウォールをオフにします。およびその他の関連するウイルス対策ソフトウェア。 7. WidowsUpdate サービスを閉じます。解決策 3 解決策 4 Huawei コンピュータの Windows アップデート中に「0x8024401c」エラーが発生する 症状 問題 原因 解決策 まだ解決されませんか?最近、システムの脆弱性のため、Web サーバーを更新する必要があります。サーバーにログインすると、エラー コード 0x8024401c が表示されます。

新しい仮想マシンの作成中に、サーバーでエラー 0x80070003 が発生しました。 新しい仮想マシンの作成中に、サーバーでエラー 0x80070003 が発生しました。 Feb 19, 2024 pm 02:30 PM

Hyper-V を使用して仮想マシンを作成または起動するときにエラー コード 0x80070003 が発生した場合は、権限の問題、ファイルの破損、または構成エラーが原因である可能性があります。解決策には、ファイルのアクセス許可の確認、破損したファイルの修復、正しい構成の確認などが含まれます。この問題は、さまざまな可能性を 1 つずつ除外することで解決できます。エラー メッセージ全体は次のようになります。 [仮想マシン名] の作成中にサーバーでエラーが発生しました。新しい仮想マシンを作成できません。構成ストアにアクセスできません: システムは指定されたパスを見つけることができません。 (0x80070003)。このエラーの考えられる原因は次のとおりです。 仮想マシン ファイルが破損しています。これは、マルウェア、ウイルス、またはアドウェアの攻撃によって発生する可能性があります。このようなことが起こる可能性は低いですが、完全にそうなることはできません。

パイオニアエラーコードKadena-Keeslerを修正 パイオニアエラーコードKadena-Keeslerを修正 Feb 19, 2024 pm 02:20 PM

Call of Duty: Vanguard のプレイ中に Kadena-Keesler エラーが発生した場合は、この記事が役立つ可能性があります。一部のプレイヤーからのフィードバックによると、このゲームは Windows PC、Xbox、PlayStation、その他のプラットフォームでこの問題が発生しているとのことです。このエラーが発生すると、次のエラー メッセージが表示される場合があります。 接続に失敗しました。ネットワーク接続に失敗しました。オンラインまたはローカル ネットワーク経由でプレイするには、アクティブなインターネット接続が必要です。 [理由: Kadena-Keesler] 次のエラー メッセージが表示される場合もあります。 接続に失敗しました オンライン サービスにアクセスできません。 [理由: Kadena-Keesler] Xbox でのこのエラーの別の例は次のとおりです: アクティブなネットワーク接続が必要です

コード0xc000007bエラーを解決する コード0xc000007bエラーを解決する Feb 18, 2024 pm 07:34 PM

終了コード 0xc000007b コンピューターを使用しているときに、さまざまな問題やエラー コードが発生することがあります。その中でも最も厄介なのが終了コード、特に終了コード0xc000007bです。このコードは、アプリケーションが正常に起動できず、ユーザーに迷惑がかかっていることを示しています。まずは終了コード0xc000007bの意味を理解しましょう。このコードは、32 ビット アプリケーションを 64 ビット オペレーティング システムで実行しようとしたときに通常発生する Windows オペレーティング システムのエラー コードです。それはそうすべきだという意味です

jQuery AJAX リクエストで発生した 403 エラーを解決する方法 jQuery AJAX リクエストで発生した 403 エラーを解決する方法 Feb 20, 2024 am 10:07 AM

タイトル: jQuery AJAX リクエストの 403 エラーを解決する方法とコード例。403 エラーは、サーバーがリソースへのアクセスを禁止するリクエストを指します。このエラーは通常、リクエストにアクセス許可がないか、サーバーによって拒否されたために発生します。 jQueryAJAX リクエストを行うときにこのような状況に遭遇することがありますが、この記事ではこの問題の解決方法とコード例を紹介します。解決策: 権限を確認します。まず、要求された URL アドレスが正しいことを確認し、リソースにアクセスするための十分な権限があることを確認します。

See all articles