如何在apache上部署vuejs / flask项目

时间:2018-11-05 18:26:25

标签: python vue.js flask apache2 gunicorn

我创建了一个简单的项目,其中以vuejs为前端,以flask为后端。

该项目是通过示例here构建的,因此生成的文件结构类似于vuejs构建文件“ dist”与驱动python脚本run.py所在的文件夹。 / p>

enter image description here

该项目已经过测试,并且可以在本地正常运行,现在我遇到了在将其部署在由digitalocean托管的Ubuntu服务器上时遇到的问题。

我按照此article学习了如何进行部署-文章写得不错,但是我认为我需要更改apache配置文件(/etc/apache2/sites-available/000-default.conf)很少指定我项目的静态文件,如屏幕截图所示。

问题是如何?我不知道。当我逐字跟踪文章并启动Web应用程序时,它显示出如下错误:

Loading failed for the <script> with source “http://my_website.com/static/js/manifest.0e78d562f6b86d93f516.js”. vue-amazon:1:1

static是我文件结构中“ dist”下的标准vuejs文件夹。

1 个答案:

答案 0 :(得分:0)

我发现问题与Flask项目的部署方式无关-与vuejs前端的配置有关。

我需要将vuejs的配置文件中的assetPublicPath的设置调整到index.html可以找到混淆的javascript的正确位置。

例如,如果我的项目名为“ ABC”,而我希望该网址看起来像:

http://my-site.com/ABC

我需要在vuejs配置文件中添加它:

env: require('./prod.env'),
index: path.resolve(__dirname, '../../dist/index.html'),
assetsRoot: path.resolve(__dirname, '../../dist'),
assetsSubDirectory: 'static',
assetsPublicPath: '../../ABC/dist/',

在我跑步之前

npm run build