在Web服务器中部署vue CLI 3公共路径

时间:2019-07-25 22:35:26

标签: vue.js

我们的vue应用必须以相对路径部署在Web服务器中……类似于student.com/myvueapp/

因此在我的vue应用中,我将公共路径设置为myvueapp

vue.config.js中的

 module.exports = {
      publicPath: '/myvueapp/'
    }

当我执行vue-cli-service服务时,它在子路径中起作用。但是当我构建并使用资产时,它不起作用。一世 构建后,我去了dist目录,并运行了python -m SimpleHTTPServer 8000,它失败了。

我应该如何解决?我应该设置公共路径以外的其他属性吗? 我将其放入我们的开发服务器nginx中,但那里也不起作用。

1 个答案:

答案 0 :(得分:0)

build任务只会构建您应用程序的根目录。不过,文件中的路径对于您配置的publicPath是正确的,例如

<!-- in dist/index.html -->
<script src=/myvueapp/js/app.0fcf91de.js></script>

这个想法是,您将dist文件夹中的内容放入生产HTTP服务器上的$DOCUMENT_ROOT/myvueapp/中。

例如,如果您的NGINX配置具有

root /usr/share/nginx/html;

您将创建目录/usr/share/nginx/html/myvueapp并将dist的内容复制到其中。


如果要在本地运行它,则仍需要为publicPath手动创建一个文件夹(或符号链接)。

# in some directory

# create a symlink
ln -s path/to/your/app/dist myvueapp
# or create a real folder, eg
# mkdir myvueapp && cp -a path/to/your/app/dist/* myvueapp/

# start your server
python -m SimpleHTTPServer

然后打开http://localhost:8000/myvueapp/