当我运行ng build -prod --aot
时,只生成.js文件。
输出:
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]
我的问题是:
答案 0 :(得分:8)
正如1.0.0-beta.32 (2017-02-17)'s BREAKING CHANGES List所述, 自1.0.0-beta.32
@ angular / cli:生产版本不再生成压缩输出(.gz)。
也是,因为1.0.0-beta.28,
- 在--prod
中默认为true
因此,在运行--aot
ng build
-prod
标记
为了获取gz文件,您可以通过运行ng
eject
来弹出您的应用,这将公开您的 webpack.config.js 文件
可以使用 COMPRESSION WEBPACK PLUGIN :
const CompressionPlugin = require("compression-webpack-plugin");
. . .
new CompressionPlugin({})
(再次'取消'你的应用程序'看到我的answer)
要从express提供gz文件,您可以使用 Node JS compression middleware :
var compression = require('compression')
var express = require('express')
var app = express()
// compress all responses
app.use(compression())