[原创] 分享一下Sencha 三种环境(开发环境、测试环境、生产环境)的优雅配置方案
背景介绍:
在一个AspNet MVC Web API的后端Web开发项目中,使用了Sencha6.5+作为前端表现技术。
在进行两种开发框架的物理文件整合的时候,笔者不想把他俩的物理文件都“揉”在一个文件夹下面。
想尽量隔离开来,方便前后端两类开人员,把精力只关注到自己的开发文件上。
具体配置:
1、在Asp.Net MVC Web API项目文件夹下,新建一个文件夹“extjs”(名称可以根据自己的需要,随意),把Sencha创建的前端项目文件都放置在此文件夹下。
2、接下主要是针对app.json文件的设置:
2.1 告诉Sencha,你的网站首页文件的相对路径:
"indexHtmlPath": "../index.html",
"output": {
"page": "../../../../IndexOutput.htm",
"microloader": {
"path": "microloader.js",
"embed": false,
"enable": true
}
}
3、关于2.1里提到的index.html
该文件存在的目的,主要是为了提供一个嵌入式的microloader占位。
<script id="microloader" type="text/javascript"></script>
4、关于2.2里提到的IndexOutput.htm
该文件存在的目的,主要是为了提供一个网站首页输出。
<script id="microloader" data-app="1900dd7d-7922-4a63-a091-ff81f79d5617" src="extjs/build/production/AppDemo/microloader.js"></script>
注:上面是生产环境的发布路径。microloader.js文件,是因为我在2.2节提到的在app.json中设置了output/microloader/path,以及embed:false 产生。(因为我不喜欢把一堆启动脚本生成成首页文件中,我喜欢这样独立一点,这样,引用的时候就固定这个路径就好了)
5、网站真正的首页。
上面4,5,两节提到的 两个index.htm文件,他们的作用,我只用在的编译的时候,配合Sencha编译器使用。我们项目的真正的首页文件,在Asp.Net MVC项目的View视图目录下,打开主要代码如下所示:
<!-- 开发版 -->
@*<script id="microloader" data-app="1900dd7d-7922-4a63-a091-ff81f79d5617" src="extjs/bootstrap.js"></script>*@
<!-- 测试版 -->
@*<script id="microloader" data-app="1900dd7d-7922-4a63-a091-ff81f79d5617" src="extjs/build/testing/AppDemo/microloader.js"></script>*@
<!-- 发布版 -->
<script id="microloader" data-app="1900dd7d-7922-4a63-a091-ff81f79d5617" src="extjs/build/production/AppDemo/microloader.js"></script> </head>
通过上面的一系列的设置,我的目标达到了。
1)在通常开发时,使用“开发版”的js脚本启动sencha框架。cmd使用 Sencha app watch配合开发。
2)在使用测试版本的时候,cmd使用sencha app build testing。使用“测试版本”的js脚本启动sencha框架。(编译为测试版本时,js会打包在一个js文件中,但不会混淆代码,代码还是可以很容易debug的)
3)在使用发布版本的时候,cmd使用sencha app build production。使用使用“发布版本”的js脚本启动sencha框架。
最近花了不少时间研究,年纪大了害怕忘记,特地文字记录一下。
如果有朋友需要,强烈建议结合实际操作。感觉写的相当的啰嗦。:)
The End.
[原创] 分享一下Sencha 三种环境(开发环境、测试环境、生产环境)的优雅配置方案的更多相关文章
- 【Spring】使用@Profile注解实现开发、测试和生产环境的配置和切换,看完这篇我彻底会了!!
写在前面 在实际的企业开发环境中,往往都会将环境分为:开发环境.测试环境和生产环境,而每个环境基本上都是互相隔离的,也就是说,开发环境.测试环境和生产环境是互不相通的.在以前的开发过程中,如果开发人员 ...
- Spring.profile配合Jenkins发布War包,实现开发、测试和生产环境的按需切换
前两篇不错 Spring.profile实现开发.测试和生产环境的配置和切换 - Strugglion - 博客园https://www.cnblogs.com/strugglion/p/709102 ...
- Maven 如何为不同的环境打包 —— 开发、测试和生产环境
在开发过程中,我们的软件会面对不同的运行环境,比如开发环境.测试环境.生产环境,而我们的软件在不同的环境中,有的配置可能会不一样,比如数据源配置.日志文件配置.以及一些软件运行过程中的基本配置,那每次 ...
- Spring.profile实现开发、测试和生产环境的配置和切换
软件开发过程一般涉及“开发 -> 测试 -> 部署上线”多个阶段,每个阶段的环境的配置参数会有不同,如数据源,文件路径等.为避免每次切换环境时都要进行参数配置等繁琐的操作,可以通过spri ...
- IDEA开发、测试、生产环境pom配置及使用
pom文件 一般放在最下面,project里 <!--开发环境.测试环境.生产环境--> <!--生产环境--> <profiles> <profile> ...
- vue配置开发,测试,生产环境api
npm run build 调用开发环境接口,打包开发环境npm run build:test 调用测试环境接口,打包测试环境npm run build:prod 调用生产环境接口,打包生产环境 vu ...
- vue中通过cross-env插件配置三种环境(开发,测试,生产)打包,不用切换api
1. 话不多说,第一步就是安装必要的插件 npm install cross-env --save 2.修改config里面的参数,这里只展示一个test,其他类似 3.修改package.json ...
- [配置]VUE中通过process.env判断开发,测试和生产环境,并分环境配置不同的URL HOST
本文链接:https://blog.csdn.net/tom_wong666/article/details/89763620 Tom哥的博客博文分类和索引页面地址:https://blog.csdn ...
- 【maven】之配置开发,测试,正式环境pom.xml文件
在进行web程序开发,如果项目组没有使用自动化发布工具(jenkins + maven + svn + tomcat ),我们一般会使用maven的热部署来完成发布,在部署的过程中我们开发,测试,生产 ...
随机推荐
- 0_Simple__simpleMPI
MPI 的简单使用 ▶ 源代码.主机根结点生成随机数组,发布副本到各结点(例子用孩子使用了一个结点),分别使用 GPU 求平方根并求和,然后根结点使用 MPI 回收各节点的计算结果,规约求和后除以数组 ...
- datasnap 如何监控客户端的连接情况
如果客户端是TCP/IP是短连接的情况就没有必要了. type pClientConns = ^TClientConns; // 客户连接 TClientConns = record clientid ...
- Spring声明式事务不回滚问题
疑问,确实像往常一样在service上添加了注解 @Transactional,为什么查询数据库时还是发现有数据不一致的情况,想想肯定是事务没起作用,出现异常的时候数据没有回滚.于是就对相关代码进行了 ...
- dstat 性能监测工具
dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品.dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了.dstat可 ...
- How to Pronounce Ending T Clusters + Homophones — Baking!
How to Pronounce Ending T Clusters + Homophones — Baking! Share Tweet Share Tagged With: ARE Reducti ...
- angluarjs ng-repeat 行号
参考 https://zhidao.baidu.com/question/1882914672116911828.html $index
- 使用spring-data-JPA调用存储过程
第一种情况,对于只有一个或没有返回值的存储过程,使用如下方式调用: @Entity @NamedStoredProcedureQuery(name = "pro1", proced ...
- css position定位详解
position:static 默认方式: position:relative 相对定位,相对于原有位置进行移动,并且保留它在文件流中的占位: position:absolute 绝对定位,相对于最近 ...
- VirtualBox中的虚拟机在Ubuntu 下无法启动之问题解决
我通过重新安装box解决的.发现,box安装,直接apt install有可能会出现虚拟机无法启动的问题. 一.添加VirtualBox的源并安装5.1版本virtualbox官网:https://w ...
- configparser模块 logging模块
configparser模块 固定格式的配置文件 有一个对应的模块去帮你做这个文件的字符串处理 config = configparser.Configparser() config.read(“ex ...