Skip to content

How to implement gzip in RC1 #5272

Closed
Closed

Description

@harilalinapp

Please provide us with the following information:

My application needs gzip since the bundle sizes upto 1.5MB. Event AOT doesn't reduce the size since the application uses the lazy loading.#3751

Is it possible to enable gzip for my application?

OS?

Windows 7, 8 or 10. Linux (which distribution). Mac OSX (Yosemite? El Capitan?)

Versions.

Please run ng --version. If there's nothing outputted, please run in a Terminal: node --version and paste the result here:
@angular/cli: 1.0.0-rc.1
node: 6.9.1
os: linux x64
@angular/common: 2.4.9
@angular/compiler: 2.4.9
@angular/core: 2.4.9
@angular/forms: 2.4.9
@angular/http: 2.4.9
@angular/material: 2.0.0-beta.2
@angular/platform-browser: 2.4.9
@angular/platform-browser-dynamic: 2.4.9
@angular/router: 3.4.9
@angular/cli: 1.0.0-rc.1
@angular/compiler-cli: 2.4.9

Repro steps.

Was this an app that wasn't created using the CLI? What change did you do on your code? etc.

The log given by the failure.

Normally this include a stack trace and some more information.

Mention any other details that might be useful.


Thanks! We'll be in touch soon.

Activity

  1. grizzm0 commented on Mar 7, 2017

    @grizzm0
    Contributor

    It is not possible to enable as part of Angular CLI itself. You can use something like gulp gzip to create a task that compresses your dist folder after build.

  2. intellix commented on Mar 7, 2017

    @intellix
    Contributor

    Install a compression lib for your node server:

    yarn add compression

    Inside your node server server/index.js:

    const compression = require('compression');
    const path = require('path');
    const express = require('express');
    const app = express();
    const port = process.env.PORT || 8080;
    
    // Gzip
    app.use(compression());
    
    // Run the app by serving the static files in the dist directory
    app.use(express.static(__dirname + '/dist'));
    
    // Start the app by listening on the default Heroku port
    app.listen(port);
    
    // For all GET requests, send back index.html so that PathLocationStrategy can be used
    app.get('/*', (req, res) => {
      res.sendFile(path.join(__dirname + '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/dist/index.html'));
    });
    
    console.log(`Server listening on ${port}`);
  3. elvirdolic commented on Mar 7, 2017

    @elvirdolic

    where do you serve your app? Most of the web servers support gzip compression per default like iis, apache ...

  4. filipesilva commented on Mar 7, 2017

    @filipesilva
    Contributor

    I'm closing as the awesome CLI community has already added a bunch of great answers. Cheers!

  5. angular-automatic-lock-bot commented on Sep 6, 2019

    @angular-automatic-lock-bot

    This issue has been automatically locked due to inactivity.
    Please file a new issue if you are encountering a similar or related problem.

    Read more about our automatic conversation locking policy.

    This action has been performed automatically by a bot.

  6. locked and limited conversation to collaborators on Sep 6, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions