Seb*_*ius 9 extjs build environment-variables
我有一个指向API的ExtJS 5.0应用程序.在开发上,我想使用http://localhost但当然生产一些其他服务器.
有没有办法在外面设置应用程序的变量sencha app build?或者访问代码中的一些ENV变量?
如果有人能帮助我会很棒.
非常感谢你,
塞巴斯蒂安
Wey*_*ani 13
我找到了一种方法,但我不确定这是最好的方法.在你的app.json中你会找到这样一个部分:
/**
* override objects for setting build environment specific
* settings.
*/
"production": {
banana : 'no'
},
"testing": {
banana : 'yes'
},
"development": {
},
Run Code Online (Sandbox Code Playgroud)
显然我自己添加了香蕉田.我们不允许在生产中部署香蕉,因此我根据环境设置值yes或no.
然后在构建我是否进行'sencha app build testing'或'sencha app build production'时,它将在环境中将相应的香蕉值构建到Ext.manifest对象中.
所以在应用程序中我可以通过以下方式访问该值:
if (Ext.manifest.banana === "yes")
Run Code Online (Sandbox Code Playgroud)
我认为您可以使用相同的技术为其他水果定义字段,甚至可能使用非水果相关数据.
我从这个文档中得到了一个想法:"当你启动应用程序时,你会发现app.json的处理内容被加载为"Ext.manifest"." http://docs.sencha.com/cmd/5.x/microloader.html
就像我说的,我不知道这是否是最好的方法,但我怀疑它可能是.