[原创] 分享一下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的热部署来完成发布,在部署的过程中我们开发,测试,生产 ...
随机推荐
- kubernet使用笔记
centos7.3下安装及部署:http://www.linuxidc.com/Linux/2017-02/140723.htm
- js1:根据标签的Id获取value值
例子:<input id="startDate" name="startDate" value="2015-09-14" class= ...
- 解决报错 Page directive: illegal to have multiple occurrences of contentType with different values (old:
转自:https://blog.csdn.net/dorothy1224/article/details/78064288
- EL&jsp
JSP 2.0(java server pages): EL 表达式 JSP九大内置对象及作用范围 JSP Directive JSP Action EL表达式: EL 算法(Arithmetic)表 ...
- 16 python 异常处理
1.了解什么是异常处理 异常就是程序运行时发生错误的信号(在程序出现错误时,则会产生一个异常,若程序没有处理它,则会抛出该异常,程序的运行也随之终止), 在python中,错误触发的异常如下 2.了解 ...
- ABAP-动态程序生成
科技越来越进步,人也就变的越来越懒,最终的演变就是大脑发达,四肢退化...AI的到来,准备接招吧... 报表若没有过多的用户交互逻辑,一般可通过SQ01配置生成,本文介绍用ABAP方式实现报表程序的动 ...
- 低版本eclipse离线集成svn步骤,亲测有效!!!
1.下载svn离线版的插件: 百度云盘链接:http://pan.baidu.com/s/1eSnMoHO 密码:6oef 2.解压出来的额目录如下: 3.将features和plugins里面的ja ...
- Apache相关安全设置
刚刚安装完Apache2.2和php 5.2.14后,配置完成首次用httpd启动时出现Apache 2 Test Page,并有如下提示: 此问题的解决办法是: 1. 找到一个叫做welco ...
- 移去OleContainer的黑边框
//禁止双击打开word编辑 olecontainer1.AutoActivate := aaManual; //禁止右键菜单 olecontainer1.AutoVerbMenu := False; ...
- spark cache table
http://www.07net01.com/2015/11/961118.html http://www.cnblogs.com/charlotte77/p/5468968.html 文本读入和写出 ...