javascript - htaccess - habilitar compresion gzip cpanel
Paquete comprimido gzip comprimido no servido, el paquete descomprimido es (3)
Condicionalmente puede servir gz
estática fácilmente con nginx gzip módulo estático . El servidor comprueba si el archivo app.js.gz
, por ejemplo, solicitado /statics/app.js
está presente y lo sirve de forma transparente. No hay necesidad de cambiar su aplicación o detectar Accept-Encoding
, todo lo que maneja el módulo nginx. Aquí está el fragmento de configuración:
location /statics/ {
gzip_static on;
}
Estoy probando Webpack por primera vez. He estado usando Gulp con Browserify por un tiempo y estoy bastante cómodo con eso. En este punto, estoy probando un par de complementos de Webpack. A saber, el paquete compression-webpack-plugin. Nunca he usado compresión antes, así que si no estoy cometiendo ningún error novato.
Debajo está mi webpack.config.js. El resultado es que obtengo main.js, main.js.gz, main.css e index.html. Main.js se inyecta en index.html, pero si abro index.html en mi navegador, sirve main.js sin comprimir, no el main.js.gz comprimido. Había leído que no necesitaría incluir la extensión .gz en la etiqueta de mi script, y html-webpack-plugin no la incluye, así que pensé que las cosas funcionaban correctamente, sin embargo, se sirvió el main.js sin comprimir, en lugar del comprimido.
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()
]
};
Llego un poco tarde a este hilo, pero pensé en agregar mi 2c. Genere un archivo gz utilizando el paquete web, pero Apache siguió publicando el descomprimido (o error si no estaba presente), a pesar de que Accept-Encoding
se configuró correctamente. Resulta que tuve que descomentar AddEncoding x-gzip .gz .tgz
y volver a cargar httpd. Para el registro, AddType application/x-gzip .gz .tgz
ya estaba configurada, y estoy usando Apache 2.4.6 con Chrome 62. Gracias a Dmitry de arriba por empujarme a mirar mi archivo conf / httpd.conf.
Para cargar main.js.gz
lugar de main.js
en caso de incluir main.js
en script
-tag, debe configurar su servidor web (apache, nginx, etc.)
Recuerde que la configuración debería cargar .js.gz
o .js
dependiendo de si el navegador acepta gzip. El servidor web puede verificarlo en el encabezado de solicitud HTTP Accept-Encoding: gzip, deflate
En el navegador devtools, verá main.js en cualquier caso.