3

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

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

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

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

它工作得很好,除了我经常忘记改变iable"publish value"直到一个不满意的客户来电。这不是最佳的开发技术。

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

4

2 回答 2

1

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

于 2012-08-05T08:13:05.337 回答
1

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

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

于 2016-08-23T05:25:54.827 回答