【问题标题】:Can VS change variable values in my js on publishVS可以在发布时更改我的js中的变量值吗
【发布时间】:2012-08-04 11:30:33
【问题描述】:

我运行 VS2010 Web Developer 并将一个 javascript 变量设置为一个值以进行测试。当我发布我的作品时,我认为该变量应该是另一个影响最终行为的值。所以,在 rumpa.js 文件中我有以下内容。

$(document).ready(function () {
  var iable = "test value";
  ...}

但是,就在我执行发布之前,我手动编辑该行,使其如下所示。

$(document).ready(function () {
  var iable = "publish value";
  ...}

效果很好,只是我经常忘记将iable 更改为"publish value",直到有不满意的客户来电。这不是最佳的开发技术。

我可以让 VS 更改我的源代码,这样我就不必这样做了吗?

【问题讨论】:

  • 我把你的问题看了两遍,还是不确定你在找什么。
  • 当他点击“发布”时,他似乎想要运行一个巨魔或改变他的价值的东西
  • @Rob Angelier 我正在寻找一种方法,让 VS 在我发布网站之前自动编辑一行代码,然后在上传完成后将其改回。是的,那很好。但我在工具/选项等中看不到这样的设施......
  • 据我了解,您希望您的实时和开发环境以不同方式定义某些变量吗?作为一般设置(这不仅适用于 JS/VS/web),最简单的实现是在您在 live 和 devel 环境中定义时拥有一个单独的配置文件,并且不包括在您的常规“发布”过程中,然后从该配置中读取您的iable var。
  • 我明白了!我必须同意@BenParsons。您可以使用配置转换文件,更多信息在这里:blog.hmobius.com/post/2010/02/17/…

标签: javascript visual-studio-2010 ide publish


【解决方案1】:

您可以使用配置转换文件。这样,您可以为每个发布配置文件设置不同的设置。更多信息可以在这里找到:http://blog.hmobius.com/post/2010/02/17/ASPNET-40-Part-4-Config-Transformation-Files.aspx

【讨论】:

    【解决方案2】:

    Rob Angelier 的回答中引用的链接对我不起作用。由于我今天正在寻找同样的问题,我发现你可以使用#DEBUG:

    #if DEBUG
        var iable = "test value";
    #else
        var iable = "publish value";
    #endif
    

    但是,我有时需要将调试版本发布到此方法不允许的服务器。所以你可以检查服务器名称:

    var iable;
    if (window.location.hostname=="localhost")
    {
        var iable = "test value";
    } else
    {
        var iable = "publish value";
    }
    

    或者在 Angular 中,我将服务用作:

    (function () {
        "use strict";
    
        angular
            .module("common.services", ["ngResource"])
            .constant("appSettings",
            {
                commonsetting: false,
            });
    
        if (window.location.hostname=="localhost")
        {
            // local dev settings
            angular
                .module("common.services", ["ngResource"])
                .constant("appSettings",
                {
                    iable = "test value";
                });
        } else
        {
            // remote settings
            angular
                .module("common.services", ["ngResource"])
                .constant("appSettings",
                {
                    var iable = "publish value";
                });
        }
    }());
    

    希望这可以节省一些时间。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-04
      相关资源
      最近更新 更多