需求:

测试环境、开发环境及生产环境所请求的api域名不同,在不修改源代码的情况下,通过命令自动实现根据不同的环境使用不同的api域名。

环境:

Ext JS: 6.2.0 GPL

操作系统: Win 10

Sencha Cmd:v6.2.2.36

实现:

一、build编译的三种形式:production 、 testing 、 package

 

testing:构建一个处于测试阶段的应用程序,所有JavaScript脚本文件都被原样复制到应用程序中,不对这些脚本文件进行压缩,便于开发者对其进行调试。

package:构建一个本地可运行的应用程序,开发者可以不使用web服务器,而是从文件系统中直接打开该应用程序

production:构建一个需要使用Web服务器来运行的应用程序,支持使用各种设备来访问该应用程序,同时该应用程序也是一个可离线使用的应用程序

native: 首先构建一个可以在文件系统中直接打开的应用程序,然后将其打包成一个可以在本机的Web服务器中运行的应用程序。

如下为对应的命令:

>sencha app build production //打包手机端,电脑端都能用的形式
>sencha app build testing //打包测试版
>sencha app build package //打包到手机端
>sencha package run package.json //主要是生成Android或iphone的APK
>sencha app build -e native

 

 

二、配置app.json

打开程序根目录下的app.json文件,你可以工到对应的testing,development,production对应的对象。在里面分别为设置相同的对象或变量名称。在这里,我设置为apiConfig。

 Ext JS在不同环境下使用不同域名

三、在程序内使用

在程序中,通过Ext.manifest.apiConfig就可以使用配置的变量或对象了。当使用不同的打包命令打包时,该变量的值对应于app.json文件里配置的值。

相关文章: