是否有可能包括一个文件夹的javascript文件,而不是一个接一个地添加它们

Is it possible to include a folder of javascripts files instead of adding them one by one?

本文关键字:一个 添加 文件夹 包括一 有可能 javascript 文件 是否      更新时间:2023-09-26

是否可以包含一个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:)