我创建了一个简单的项目,其中以vuejs为前端,以flask为后端。
该项目是通过示例here构建的,因此生成的文件结构类似于vuejs构建文件“ dist”与驱动python脚本run.py所在的文件夹。 / p>
该项目已经过测试,并且可以在本地正常运行,现在我遇到了在将其部署在由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文件夹。
答案 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