Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何仅发布捆绑/缩小的脚本_Asp.net_Asp.net Mvc_Asp.net Mvc 4_Azure_Bundling And Minification - Fatal编程技术网

Asp.net 如何仅发布捆绑/缩小的脚本

Asp.net 如何仅发布捆绑/缩小的脚本,asp.net,asp.net-mvc,asp.net-mvc-4,azure,bundling-and-minification,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Azure,Bundling And Minification,我有一个部署到Azure的MVC4项目。捆绑和缩小效果绝对不错 所有脚本文件都位于/js文件夹中,该文件夹绑定到/scripts/js 当我使用msdeploy发布到Azure时,我只希望部署捆绑/缩小的脚本文件。我不希望任何人通过猜测url来访问我未缩小的脚本 我知道MVC绑定是在运行时进行的,因此它需要未绑定的文件来动态创建绑定。这可能需要用grunt之类的东西实现自动化 想知道当您不想发布未绑定的js时,人们在这种情况下使用什么部署策略。使用Web部署,您可以设置跳过参数: 以下是一个示

我有一个部署到Azure的MVC4项目。捆绑和缩小效果绝对不错

所有脚本文件都位于/js文件夹中,该文件夹绑定到/scripts/js

当我使用msdeploy发布到Azure时,我只希望部署捆绑/缩小的脚本文件。我不希望任何人通过猜测url来访问我未缩小的脚本

我知道MVC绑定是在运行时进行的,因此它需要未绑定的文件来动态创建绑定。这可能需要用grunt之类的东西实现自动化


想知道当您不想发布未绑定的js时,人们在这种情况下使用什么部署策略。

使用Web部署,您可以设置跳过参数:

以下是一个示例:


他们会在pageload上看到你的脚本,所以我不明白为什么他们看到未统一的版本会成为一个大问题,除非你在未统一的版本中有疯狂或冒犯性的评论。用户可以使用javascript格式化程序(如上文所述)将缩小的文件恢复为可读格式

不过,出于您的考虑,您可以简单地将web.config文件放到已部署的
/js
文件夹中,以防止任何东西被提供。在我的测试中,这并没有影响缩小。虽然如果将其放在本地文件夹中,但在调试模式下绑定时会出现错误(因为调试模式会提供单个文件,而此web.config会阻止提供任何内容):



,这揭示了用户如何通过更改其用户代理来查看带有注释的未统一捆绑包。

但如何首先缩小所有文件?只需切换到发布模式并生成项目,或者您可以创建生成定义并使用continuos integration发布网站。因为它将发布发布模式,你的文件将缩小不缩小。。未整理的文件也会上线。但只提供缩小的文件。你怎么解决这个问题的?我遇到了一个类似的情况,我想停止使用文件的url提供文件,你最终使用grunt了吗?还是有其他方法?dint得到了这样的解决方案。我认为,使用grunt甚至是web essentials捆绑是一种可行的方法。
<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
            <deny users="*" />
        </authorization>
    </system.web>
</configuration>