在Ember CLI之前,我用来在Django项目中创建一个index.html页面,再加上App.js文件,所有这些文件似乎都运行得很好。 现在Ember正在使用CLI,似乎没有简单的方法可以在Django应用程序中集成Ember CLI项目。 所以我读到人们建议使用Ember CLI开发前端,Django开发REST API。但是部署并不容易,因为您需要复制Django静态文件夹下的Ember dist文件夹,并将Ember app下的所有静态资源URL更改为指向Django静态路径。
所以似乎没有简单的方法将这两者集成到一个单一的开发过程中。
你们有没有关于如何整合开发和部署过程的建议?
THX。
答案 0 :(得分:7)
对于像这样的项目,您应该为您的服务器应用和客户端应用使用单独的存储库。
考虑一个包含4个代码存储库,1个服务器和3个客户端的项目:
核心应用程序将部署到能够托管Python应用程序的服务器(例如uWSGI)。
因为Ember.js项目最终是一个静态资源,所以您可以从几乎任何地方(例如NGINX)提供它,并将其指向托管Django项目的单独API服务器(例如https://app.myproject.com/api/)。请参阅有关配置ember-django-adapter以使用自定义API主机的文档:http://dustinfarris.com/ember-django-adapter/configuring/
iOS当然会部署到Apple App Store,Android项目将部署到Google Play。
每个存储库都是一个单独的代码库,具有不同的需求和部署策略 - 这就是最好将它们分开的原因,因此您可以考虑它们并单独使用它们。仅仅因为Django可以处理静态资产并不意味着你应该依赖它 - 试图在Django项目中托管Ember.js项目(或任何其他JS框架项目)只会让事情过于复杂。希望有所帮助。
答案 1 :(得分:2)
我目前正在实施由Django提供的Ember-CLI应用程序。
以下是我遵循的步骤:
关于Django:
ember
)django-redis-views
。关于Ember:
ember-deploy-redis
& ember-deploy-s3
有用的链接: