2019
06/28

npm run build時にindex.htmlがコピーされない問題を解決する

Vue CLIではプロジェクトをビルドするのにnpm run buildとコマンドを打ちます。

その際、publicフォルダの中身をdistフォルダにコピーしてくれるはずなのですが、public/hoge/index.htmlのようにサブフォルダの中に入っているindex.htmlファイルだけがコピーされませんでした。

public/index.htmlはプロジェクトのトップページ(という言い方でいいのだろうか)として使われるのでコピーされなくても正常です。

手作業でファイルをコピーするのも面倒だし何よりどのファイルが最新か混乱してしまいそうだったので、正しくコピーされるように原因と解決策を調べました。

※ Vue CLIのバージョンは3.2.1を使用しています。

ADs

1.vue.config.jsを作成

プロジェクトフォルダの直下にvue.config.jsという名前のファイルを作成します。
既に作成済みの場合は次の手順に進みます。

2.vue.config.jsに以下を書く

Vue-cliがpublicからdistにファイルをコピーする処理はcopy-webpack-pluginを使っていますが、その設定を上書きします。

ちなみに:デフォルト値はどうなっているか

\node_modules\@vue\cli-service\lib\config\app.js

の143行目で定義されています。

.DS_Storeは分かりますがindex.htmlは「./index.html」のほうが適切なような…?

参考(というかそのまま)

参考になりました。ありがとうございます。

Custom ignore pattern for public folder copy

ADs

Post Comments

メールアドレスが公開されることはありません。

Comments

コメントはまだありません。