gpt4 book ai didi

javascript - 是否可以在 Web 应用程序中使用不同的 javascript 文件进行调试和生产?

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:05:21 24 4
gpt4 key购买 nike

我想在我的 ASP.NET WebForms 应用程序 (VS 2008) 中有不同版本的 .js javascript 文件:

  • 完整版,评论等等
  • 缩小版,用于生产

有没有办法在调试时自动获取完整版本,并在应用程序部署到生产环境时自动获取缩小版本?我不介意答案是不是黑客。

在 VS 2010 中可以吗?

最佳答案

当然可以,但这里的问题是“你打算如何设置它。

我从这里的关键开始,即 DEBUG 定义。因此,假设您喜欢在页面上进行设置。

所以在页面上你可以做这样的事情:

<% #if DEBUG %>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script>
<% #else %>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<% #endif %>

或者,您可以使用文字并在代码后面启用此开关。

<asp:Literal runat="server" ID="txtScripts" EnableViewState="false" />

protected void Page_Load(object sender, EventArgs e)
{
#if DEBUG
txtScripts.Text = "<script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js\"></script>";
#else
txtScripts.Text = "<script type=\"text/javascript\" src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js\"></script>";
#endif
}

另一种方法是使用处理程序并读取所有 javascript 文件并使用代码进行缩小,然后再次使用相同的 DEBUG 键发送一个或另一个版本。

我个人使用 MS Ajax MInified http://www.asp.net/ajaxlibrary/AjaxMinDocumentation.ashx我读取了我所有的 javascript 文件,将它们制成一个文件,并使用此参数来缩小或不缩小它们。

Minifier MyMin = new Minifier();
CodeSettings cs = new CodeSettings();
#if DEBUG
cs.MinifyCode = false;
cs.OutputMode = OutputMode.MultipleLines;
cs.PreserveFunctionNames = true;
cs.RemoveFunctionExpressionNames = false;
cs.RemoveUnneededCode = false;
cs.StripDebugStatements = false;
#else
cs.MinifyCode = true;
cs.OutputMode = OutputMode.SingleLine;
#endif
Write(MyMin.MinifyJavaScript(AllMyJavascript, cs))

关于javascript - 是否可以在 Web 应用程序中使用不同的 javascript 文件进行调试和生产?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10228172/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com