是否有可能包括一个文件夹的javascript文件,而不是一个接一个地添加它们
Is it possible to include a folder of javascripts files instead of adding them one by one?
是否可以包含一个javascript文件文件夹,而不是逐个添加它们?
像这样:
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/?.js></script>
代替:
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery-1.5.1.min.js") %>'></script>
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery.localscroll-1.2.7-min.js") %>'></s
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery.scrollTo-1.4.2.js") %>'></script>
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery.simplemodal.js") %>'></script>
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery-ui-1.8.11.custom.min.js") %>'></sc
<script language="javascript" type="text/javascript"
src='<%# Page.ResolveUrl("~/Scripts/jquery.noselect.min.js") %>'></script>
-
对于我以前的项目,我们为此创建了一个自定义HttpHandler。读出文件夹的内容并注入。然而,由于必须对脚本进行排序以正确注入的限制,我们后来通过在web.config中创建一个自定义部分来改进它。
-
另一个解决方案是最小化脚本并将它们放入一个文件中。在Visual Studio中自动缩小和组合JavaScript
简单方法:
<asp:Repeater ID="scriptsToInclude" runat="server"><ItemTemplate>
<script language="javascript" type="text/javascript" src='<%# Page.ResolveUrl("~/Scripts/" + Container.DataItem + ".js") %>'></script>
</ItemTemplate></asp:Repeater>
和codebehind:
protected void Page_Load(..) {
scriptsToInclude.DataSource = new [] { "jquery-1.5.1.min", "jquery.localscroll-1.2.7-min", "jquery.simplemodal", ... };
scriptsToInclude.DataBind();
}
有主意了吗?
不可以,因为浏览器不知道文件夹的内容。如果你的浏览器知道内容,那将是非常危险的。
这是不可能的,但很容易将一个文件夹的.js文件编译成一个(可能是缩小的)文件。
事实上,它是如此简单,您可以自动化它并将其变成构建过程的一部分。大多数人都这样。
最好的工具之一就是Google Closure编译器。
您可以创建一个主文件和包括所有的JavaScript文件到这个文件。然后加上这个文件到页面
您应该尝试使用Chirpy。它是一个Visual Studio插件,非常适合将所有Javascript文件合并为一个文件,然后将其发送到服务器。它不仅省去了添加每个文件的麻烦,而且只需要一个HTTP请求就可以获得所有的Javascript。也适用于CSS:)
相关文章:
- 我可以在json对象中添加一个函数吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 单击更改图标并通过javascript添加一个css类
- fluxxor向一个flux实例添加一组以上的操作
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- angularjs移除焦点上的活动类并添加到下一个项目
- 使用jquery contains获取一个元素并添加类
- 有没有添加一个ng点击到md背景
- 如何为下拉列表的每个选项添加一个属性
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 单击删除其中一个添加的行
- 几个jQuery日期选择器小部件,只向其中一个添加类
- 我想创建一个添加新表单的按钮
- Babel v6:我如何/可以编写一个添加新语法(即新运算符)的插件
- GWT SimplePager -为每个下一个和上一个添加历史记录
- 自动提交表单上的最大长度,-为现有的一个添加java脚本代码
- 如何在jquery中移除一个添加了类的类
- 动态更改URL,而不需要将前一个添加到历史堆栈