随笔 - 223  文章 - 34 评论 - 159 阅读 - 32万
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

背景介绍:

在一个AspNet MVC Web API的后端Web开发项目中,使用了Sencha6.5+作为前端表现技术。

在进行两种开发框架的物理文件整合的时候,笔者不想把他俩的物理文件都“揉”在一个文件夹下面。

想尽量隔离开来,方便前后端两类开人员,把精力只关注到自己的开发文件上。

 

具体配置:

1、在Asp.Net MVC Web API项目文件夹下,新建一个文件夹“extjs”(名称可以根据自己的需要,随意),把Sencha创建的前端项目文件都放置在此文件夹下。

2、接下主要是针对app.json文件的设置:

2.1  告诉Sencha,你的网站首页文件的相对路径:

       
1
"indexHtmlPath": "../index.html",

  

2.2 告诉Sencha,你的测试环境和生产环境在输出时,你的网站首页文件的相对路径,以及使用非嵌入的microloader:
1
2
3
4
5
6
7
8
"output": {               
    "page": "../../../../IndexOutput.htm",
    "microloader": {
        "path": "microloader.js",
        "embed": false,
        "enable": true
    }
}

3、关于2.1里提到的index.html

     该文件存在的目的,主要是为了提供一个嵌入式的microloader占位。

1
<script id="microloader" type="text/javascript"></script>

4、关于2.2里提到的IndexOutput.htm

  该文件存在的目的,主要是为了提供一个网站首页输出。

1
<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视图目录下,打开主要代码如下所示:

1
2
3
4
5
6
7
8
    <!-- 开发版 -->
    @*<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.

 
 
 

 

posted on   Louis.Lu.Sz  阅读(386)  评论(2编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 25岁的心里话
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
历史上的今天:
2007-07-16 ArcGis学习笔记 1: 资料收集,下载,安装,迷糊
点击右上角即可分享
微信分享提示