在我的compression-webpack-plugin MVC 5项目中,我使用ASP.NET将javascript文件压缩成gz格式。
具有webpack.config.js设置的compression-webpack-plugin的一部分:
const CompressionPlugin = require('compression-webpack-plugin');
module.exports = {
//...
plugins: [
//...
new CompressionPlugin({
test: /\.(js|css)$/,
filename: '[path].gz[query]',
algorithm: 'gzip',
deleteOriginalAssets: true
}),
],
//...
};它很好用:

下一步是在IIS中启用GZIP压缩,所以首先我要确保在Windows功能中有必要的特性

..。并在IIS中直接对我的应用程序进行压缩,如下图所示。

此外,我还将这段代码添加到我的Web.config中
<system.webServer>
<urlCompression doStaticCompression="true" doDynamicCompression="true" />
</system.webServer>生成脚本后,web浏览器不会加载脚本--我对控制台中的每个脚本文件都有警告:
源“http://192.168.100.100:8088/Scripts/dist/runtime.7b9bc97b36a783fd7495.js”的“脚本”加载失败。
我做错了什么?我应该在我的后端设置其他的东西吗?请注意,我包含了带有.js扩展的脚本,而不是.js.gz --这是错误吗?
发布于 2018-12-04 11:48:30
好的,终于,经过深入的研究,我找到了一个解决办法。

<urlCompression doStaticCompression="true" doDynamicCompression="true" />
<system.webServer>
<staticContent>
<remove fileExtension=".js.gz" />
<remove fileExtension=".css.gz" />
<remove fileExtension=".png.gz" />
<remove fileExtension=".jpg.gz" />
<remove fileExtension=".gif.gz" />
<remove fileExtension=".svg.gz" />
<remove fileExtension=".html.gz" />
<remove fileExtension=".json.gz" />
<mimeMap fileExtension=".js.gz" mimeType="application/javascript" />
<mimeMap fileExtension=".css.gz" mimeType="text/css" />
<mimeMap fileExtension=".png.gz" mimeType="image/png" />
<mimeMap fileExtension=".jpg.gz" mimeType="image/jpeg" />
<mimeMap fileExtension=".gif.gz" mimeType="image/gif" />
<mimeMap fileExtension=".svg.gz" mimeType="image/svg+xml" />
<mimeMap fileExtension=".html.gz" mimeType="text/html" />
<mimeMap fileExtension=".json.gz" mimeType="application/json" />
</staticContent>
<rewrite>
<outboundRules rewriteBeforeCache="true">
<rule name="Custom gzip file header">
<match serverVariable="RESPONSE_CONTENT_ENCODING" pattern=".*" />
<conditions>
<add input="{REQUEST_URI}" pattern="\.gz$" />
</conditions>
<action type="Rewrite" value="gzip"/>
</rule>
</outboundRules>
<rules>
<rule name="Rewrite gzip file">
<match url="(.*)"/>
<conditions>
<add input="{HTTP_ACCEPT_ENCODING}" pattern="gzip" />
<add input="{REQUEST_FILENAME}.gz" matchType="IsFile" />
</conditions>
<action type="Rewrite" url="{R:1}.gz" />
</rule>
</rules>
</rewrite>
</system.webServer>

https://stackoverflow.com/questions/53558063
复制相似问题