在Nginx下提供Gzip js和CSS文件Web应用程序

时间:2018-11-28 07:54:32

标签: javascript node.js angular nginx gzip

我有一个使用 Angular angular-cli

构建的网络应用

要构建我的应用,我正在运行ng build --configuration=production

我一直想从该过程中删除angular-cli的gzipping动作,因此使用特定的npm包“ Gzipper” https://www.npmjs.com/package/gzipper

我曾经使用一个组合命令来构建和压缩我的输出文件:

ng build --configuration=production && && gzipper src/main/webapp/dist --log

我的输出文件是这样的:

  • scriptOne.js
  • scriptOne.js.gzip
  • scriptTwo.js
  • scriptTwo.js.gzip
  • myStyle.css
  • myStyle.css.gzip

现在在我的 nginx.conf.file 下: 我已经把这个配置:

http {
    include mime.types;
    default_type  application/octet-stream;
    client_max_body_size 10M;

    sendfile        on;
    keepalive_timeout  65;

    more_clear_headers "Server";

    gzip  on;
    gzip_types text/plain text/css application/json application/javascript application/x-javascript text/javascript text/xml application/xml application/rss+xml application/atom+xml application/rdf+xml;

    server {
       ...
    }

即使有这一切:在任何浏览器下,它也会抛出 404找不到文件 似乎看不到这些gzip文件,因此无法提供我的应用

建议?

1 个答案:

答案 0 :(得分:0)

您必须添加gzip_static on;

gzip  on;
gzip_static on;
  

ngx_http_gzip_static_module模块允许发送扩展名为“ .gz”的预压缩文件,而不是常规文件。