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 <title>Vue App</title>
Then put your custome into public directory then <title>Custome App ooxxooxx </title>