Javascript 未提供Webpack gzip压缩包,未压缩包为
我第一次试用这个网页包。我已经在Browserify中使用Gulp一段时间了,我对它非常满意。在这一点上,我只是测试了几个网页包插件。即压缩网页包插件。我以前从未使用过压缩,所以如果我犯了任何错误,请容忍我 下面是我的webpack.config.js。结果是我得到了main.js、main.js.gz、main.css和index.html。main.js被注入index.html,但如果我在浏览器中打开index.html,它将为未压缩的main.js服务,而不是为压缩的main.js.gz服务。我曾读到,我不需要在脚本标记中包含.gz扩展名,html网页包插件也不包含它,因此我认为一切正常,但提供的是未压缩的main.js,而不是压缩的main.jsJavascript 未提供Webpack gzip压缩包,未压缩包为,javascript,html,compression,gzip,webpack,Javascript,Html,Compression,Gzip,Webpack,我第一次试用这个网页包。我已经在Browserify中使用Gulp一段时间了,我对它非常满意。在这一点上,我只是测试了几个网页包插件。即压缩网页包插件。我以前从未使用过压缩,所以如果我犯了任何错误,请容忍我 下面是我的webpack.config.js。结果是我得到了main.js、main.js.gz、main.css和index.html。main.js被注入index.html,但如果我在浏览器中打开index.html,它将为未压缩的main.js服务,而不是为压缩的main.js.gz
var path = require('path');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var CompressionPlugin = require('compression-webpack-plugin');
module.exports = {
entry: './app/scripts/main.js',
output: {
path: path.join(__dirname, 'public'),
filename: '[name].js',
chunkFilename: '[id].js'
},
module: {
loaders: [
{test: /\.scss$/, exclude: /node_modules/, loader: ExtractTextPlugin.extract('style-loader', 'css-loader!sass-loader')},
{test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader'}
]
},
plugins: [
new HtmlWebpackPlugin({
hash: true,
template: 'app/index.html',
inject: 'body'
}),
new ExtractTextPlugin('[name].css'),
new CompressionPlugin()
]
};
要加载
main.js.gz
而不是main.js
在script
-标记中包含main.js
,您需要配置web服务器(apache、nginx等)
请记住,配置应该加载.js.gz
或.js
,这取决于浏览器是否接受gzip。Web服务器可以在HTTP请求头中检查它接受编码:gzip,deflate
在浏览器devtools中,您将在任何情况下看到main.js 您可以有条件地使用。服务器检查请求的
/statics/app.js
文件是否存在,并透明地提供该文件。无需更改应用程序或检测接受编码
——所有这些都由nginx模块处理。以下是配置代码段:
location /statics/ {
gzip_static on;
}
我写这篇文章有点晚了,但我想我应该加上我的2c。我使用webpack生成了一个gz文件,但是Apache继续提供未压缩的文件(如果不存在,则会出错),尽管
Accept Encoding
设置正确。结果我不得不取消注释添加编码x-gzip.gz.tgz
并重新加载httpd。作为记录,AddType应用程序/x-gzip.gz.tgz
已经设置好了,我正在使用带有Chrome62的Apache2.4.6。感谢上面的Dmitry轻推我查看conf/httpd.conf文件。我应该在IIs中做什么才能加载预压缩(未生成)文件files?@RoyiNamir您需要编写重写规则我没有找到为js文件提供gz文件的合适规则感谢您指定devtools即使接收到gzip文件也显示正常扩展名。我已经检查过了,我在响应标题中找到了:内容编码:gzip我认为一切都在正常工作,没有任何更改,谢谢webpack!:-)