Vue CLI build and run index.html file without server

佐手、 提交于 2020-06-24 08:25:45

问题


I'm using the latest vue-cli version 3.0.

My current issue is that whenever I run npm run build the files generated in the dist folder can't be run without a server.

I would like to be able to just open the index.html file on the browser. How do I go about doing this?


回答1:


I ran into a similar issue and the following two changes helped me to make it work. Now I can just open index.html in Chrome as a file to run my SPA from file system.

  1. In vue.config.js, I did not have a publicPath configured, which resulted in the default "/".
    I had to configure it to empty string like this so that it uses relative paths:

    module.exports = {
        publicPath: '',
    }
    

    PS: Since Vue CLI 3.3 use publicPath instead of the now deprecated baseURL

  2. I was using the history mode of vue-router, which does not work on a local file system to route the paths back to index.html. So I omitted the mode to go back to the default hash mode.




回答2:


I was able to fix this issue by manually changing the url of the referenced files.

It's a bit of a pain, but this was a solution without having to mess around with the build configuration.

What you need to do:

  1. Open index.html
  2. Find href=/ and replace with href=
  3. Find src=/ and replace with src=

NOTE: I was in need of this solution because I was creating a Phonegap app.




回答3:


You can use the http-server module

npm install http-server -g
http-server dist/

normally the server starts at port 8080 so you can serve the build app on http://localhost:8080



来源:https://stackoverflow.com/questions/50809987/vue-cli-build-and-run-index-html-file-without-server

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!