我们的vue
应用必须以相对路径部署在Web服务器中……类似于student.com/myvueapp/
因此在我的vue
应用中,我将公共路径设置为myvueapp
和vue.config.js
中的
module.exports = {
publicPath: '/myvueapp/'
}
当我执行vue-cli-service
服务时,它在子路径中起作用。但是当我构建并使用资产时,它不起作用。一世
构建后,我去了dist
目录,并运行了python -m SimpleHTTPServer 8000
,它失败了。
我应该如何解决?我应该设置公共路径以外的其他属性吗?
我将其放入我们的开发服务器nginx
中,但那里也不起作用。
答案 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/
。