Cuando ejecuto ng build -prod --aot solo se producen archivos .js.
producción:
chunk {0} polyfills.a2079361c5ff6d4e321e.bundle.js (polyfills) 285 kB {5} [initial] [rendered] chunk {1} main.d19edcafc399a0af8c0b.bundle.js (main) 2.33 MB {4} [initial] [rendered] chunk {2} scripts.22988bec4cd6ce344e9f.bundle.js (scripts) 973 kB {5} [initial] [rendered] chunk {3} styles.99705fb1bf9015185149.bundle.css (styles) 705 bytes {5} [initial] [rendered] chunk {4} vendor.377addf0a4997a085d42.bundle.js (vendor) 4.71 MB [initial] [rendered] chunk {5} inline.911ff25c95430bbf496e.bundle.js (inline) 0 bytes [entry] [rendered]Mis preguntas son:
Como se indica en la lista de CAMBIOS IMPORTANTES de 1.0.0-beta.32 (2017-02-17) , desde 1.0.0-beta.32
@angular/cli: la salida comprimida (.gz) ya no se genera en las compilaciones de producción.
también, desde 1.0.0-beta.28 ,
--aot por defecto es verdadero en --prod
por lo tanto, no necesita agregar el indicador --aot cuando ejecuta ng build -prod
para recuperar los archivos gz, puede expulsar su aplicación ejecutando ng eject eject, que expondrá su archivo webpack.config.js , donde puede usar COMPRESSION WEBPACK PLUGIN :
const CompressionPlugin = require("compression-webpack-plugin"); . . . new CompressionPlugin({})(para 'no expulsar' su aplicación nuevamente, vea mi respuesta )
Para servir archivos gz desde express, puede usar el middleware de compresión Node JS :
var compression = require('compression') var express = require('express') var app = express() // compress all responses app.use(compression())