Javascript 可以在发布时更改my js中的变量值吗

Javascript 可以在发布时更改my js中的变量值吗,javascript,visual-studio-2010,ide,publish,Javascript,Visual Studio 2010,Ide,Publish,我运行VS2010 Web Developer,并将javascript变量设置为一个值以进行测试。当我发布我的作品时,我认为变量应该是影响最终行为的另一个值。因此,在rumpa.js文件中,我有以下内容 $(document).ready(function () { var iable = "test value"; ...} 但是,在执行发布之前,我手动编辑该行,使其看起来如下所示 $(document).ready(function () { var iable = "pub

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

$(document).ready(function () {
  var iable = "test value";
  ...}
但是,在执行发布之前,我手动编辑该行,使其看起来如下所示

$(document).ready(function () {
  var iable = "publish value";
  ...}
它工作得很好,除了我经常忘记将
iable
更改为
“发布值”
,直到一个不高兴的客户打电话来。这不是最佳的开发技术


我是否可以通过某种方式使VS更改我的源代码,这样我就不必这样做了?

您可以使用配置转换文件。这样,您可以为每个发布配置文件设置不同的设置。更多信息可以在这里找到:

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

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

var iable;
if (window.location.hostname=="localhost")
{
    var iable = "test value";
} else
{
    var iable = "publish value";
}
或者,我使用服务作为:

(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";
            });
    }
}());

希望这能节省一些时间。

我读了你的问题两遍,仍然不确定你在找什么。他似乎想经营一家makro,或者在点击“发布”时改变他的价值@Rob Angelier我正在寻找一种方法,让VS在发布网站之前自动编辑一行代码,然后在上传完成后将其更改回来。是的,那太好了。但我在工具/选项等中看不到这样的功能…所以我理解,您希望您的live和devel环境具有不同定义的某些变量?作为一般设置(这不仅仅适用于JS/VS/web),最简单的实现是在live和devel环境中定义时有一个单独的配置文件,它被排除在常规的“发布”过程之外,然后从该配置中读取您的
iable
var。我明白了!我必须同意@BenParsons的观点。您可以使用配置转换文件,详细信息如下:
(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";
            });
    }
}());