この質問に答えるために、我々は最初のWebPACKの静的な資産に対処する方法を理解する必要があります。で *.vue
組み立て、すべてのテンプレートやCSSは次のようになります vue-html-loader
と css-loader
解決、およびリソースのURLを見つけます。例えば、 <img src="./logo.png">
及び background: url(./logo.png)
で"./logo.png"
リソース逆の経路によってWebPACKのモジュールの依存関係解決されます。
そのため logo.png
、JavaScriptが、モジュールが依存して考えた場合、使用しない url-loader
と、 file-loader
それに対処します。これらの足場のVUE-CLIのWebPACKのローダを構成しており、比較的/モジュールパスを使用することが可能です。
これらのリソースは、建設/名前変更時に/複製インライン化することができるので、彼らは基本的に、ソースコードの一部です。することをお勧めします理由です
で処理静的リソースのWebPACK /src
ディレクトリやその他のソースを一緒に入れの理由をファイル。実際には、でも、それらのすべてを置くことなく、 /src/assets
:あなたが使用することができます模块/组件
それらを使用するために組織を。例えば、各プレースメントコンポーネントの静的リソースディレクトリに保存することができます。
「本当の」静的な資産
これとは対照的に、static/
ディレクトリ内のファイルはWebPACKの処理されません。彼らは(デフォルトでは、最終的なディレクトリに直接コピーされますdist/static
の下)。あなたはこれをすることによって行われ、これらの文書を参照するために、絶対パスを使用する必要があります config.js
ファイル build.assetsPublicPath
と build.assetsSubDirectory
決定された接続。
どんな置く static/
あなたがの形で絶対パスを参照するために必要なファイルを:/static/[filename]
。あなたが変更した場合は assetSubDirectory
値を assets
、そのパスを交換します /assets/[filename]
。
パッケージ化されたファイルは、静的なディレクトリに配置する必要があります後に時々、私たちは、ソースコードのプラグインを変更し、元のnodeModuleを変更する必要があります。他のディレクトリの場合は、WebPACKのは:?例えば、その結果、再パッケージ化されます、あなたは正しくこのコンポーネントエラーがコンポーネントを登録しました