是否可以包含javascripts文件的文件夹而不是逐个添加它们?

时间:2011-04-21 11:20:23

标签: javascript asp.net

是否可以包含javascripts文件的文件夹而不是逐个添加?

这样的事情:

 <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>

6 个答案:

答案 0 :(得分:2)

  • 对于我以前的项目,我们为此创建了一个自定义 HttpHandler 。读出文件夹的内容并注入它。由于必须对脚本进行排序以进行正确注入的限制,我们稍后通过在web.config中创建自定义部分来改进它。它们保持了如何注入脚本的正确顺序。

  • 另一种解决方案是最小化脚本并将它们放入一个文件中。请务必阅读这篇文章:Automatically minify and combine JavaScript in Visual Studio

答案 1 :(得分:1)

简单方法:

<asp:Repeater ID="scriptsToInclude" runat="server"><ItemTemplate>
  <script language="javascript" type="text/javascript" src='<%# Page.ResolveUrl("~/Scripts/" + Container.DataItem + ".js") %>'></script>
</ItemTemplate></asp:Repeater>

在代码背后:

protected void Page_Load(..) {
  scriptsToInclude.DataSource = new [] { "jquery-1.5.1.min", "jquery.localscroll-1.2.7-min", "jquery.simplemodal", ... };
  scriptsToInclude.DataBind();
}

有个主意吗?

答案 2 :(得分:0)

不,因为您的浏览器不知道该文件夹的内容。如果您的浏览器知道内容,那将非常危险。

这只能通过帮助程序实现。

答案 3 :(得分:0)

这是不可能的,但是很容易将.js文件的文件夹编译成一个(可能是缩小的)文件。

事实上,它非常简单,您可以将其自动化并将其转换为构建过程的一部分。大多数人这样做。

这项工作的最佳工具之一是Google Closure compiler

答案 4 :(得分:0)

您可以创建一个主文件和    包含所有 JavaScript 文件    到这个文件。然后添加这个    文件到页面

答案 5 :(得分:0)

您应该尝试使用Chirpy。它是一个Visual Studio插件,非常适合将所有Javascript文件合并到一个文件中,然后将其发送到服务器。它不仅可以节省添加每个文件的麻烦,而且还只需要一个HTTP请求来获取所有Javascript。适用于CSS:)