这是设置:
使用 ngBoilerplate (grunt, bower, angular, the works...) 创建一个 SAP 应用程序。在我的本地主机上,它启动了一个 NodeJS 服务器,以便我可以测试应用程序。减去数据库/api,这一切都很好。使用 Grunt,它将创建一个 /build 文件夹(这是所有非压缩源、资产,用于调试)和一个带有生产代码的 /bin 文件夹。
对于后端,我在 Heroku 上有一个 Python 烧瓶应用程序(我将用于 REST API)。在主要的 Python 脚本中:
@app.route("/")
def index():
#index.html has the angular SAP
return make_response( open('build/index.html').read() )
我将代码推送到 Heroku,它检测到一个 Python 应用程序(我认为这很好,因为我需要 Python 来发出我的 api 请求),它提供正确的 index.html。当这些文件在技术上位于 /build/vendor/angular.js 时,我看到 Angular 向 /vendor/angular.js /css/angular.css 等发出请求。
我不确定我是否应该告诉 Angular 在哪里获取文件,或者它是否与 Python 相关。
我想像在 LAMP 土地上那样改变 DOCROOT (WWW) 吗?我是否更改了 Angular 中的 routeprovider/urlrouterprovider 以告诉它将文件提供到不同的位置?或者我是否改变了我在 Python 中所做的事情?
项目目录如下所示:
hellworld.py
requirements.txt
runp-heroku.py
procfile
Gruntfile.js
build/ //test code
assets/
index.html
vendor/
bin/ //production code
assets/
index.html
vendor/
src/ //original code
assets/
index.html
vendor/