old vue index.html just copy to public directory.

If public don’t have index.hmtl, be craeted by run “npm run serve”. But public don’t have index.html.
Only “npm run build” create index.html in dist driectory.

More easy understand way:

You delete all project index.html. This time still can run “npm run serve”. Watch Website source code Vue App

Then put your custome into public directory then Custome App ooxxooxx