Angular 9 and Storybook: Add @angular/localize/init polyfill

Discussão em 'Angular' iniciado por R. de Ruijter, Março 14, 2025.

  1. When updating to angular 9 I get the following Storybook error.

    Error message from storybook

    The error says that I need to add a polyfill for internationalization, but I can't figure out how to.

    I need to configure webpack and add the polyfill there, but I am not able to get it to work.

    Does anyone know how to fix this?

    Cheers

    EDIT: To clarify I did I ran the ng add @angular/localize in the angular project.

    Nevertheless, Storybook is not picking it up.

    This is my polyfills.ts file.

    /***************************************************************************************************
    * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates.
    */
    import '@angular/localize/init';
    /**
    * This file includes polyfills needed by Angular and is loaded before the app.
    * You can add your own extra polyfills to this file.
    *
    * This file is divided into 2 sections:
    * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers.
    * 2. Application imports. Files imported after ZoneJS that should be loaded before your main
    * file.
    *
    * The current setup is for so-called "evergreen" browsers; the last versions of browsers that
    * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera),
    * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile.
    *
    * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html
    */

    /***************************************************************************************************
    * BROWSER POLYFILLS
    */

    /** IE9, IE10 and IE11 requires all of the following polyfills. **/
    import 'core-js/es/symbol';
    import 'core-js/es/object';
    import 'core-js/es/function';
    import 'core-js/es/parse-int';
    import 'core-js/es/parse-float';
    import 'core-js/es/number';
    import 'core-js/es/math';
    import 'core-js/es/string';
    import 'core-js/es/date';
    import 'core-js/es/array';
    import 'core-js/es/regexp';
    import 'core-js/es/map';
    import 'core-js/es/set';

    /** IE10 and IE11 requires the following for NgClass support on SVG elements */
    // import 'classlist.js'; // Run `npm install --save classlist.js`.

    /** Evergreen browsers require these. **/
    // Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
    import 'core-js/es/reflect';

    /**
    * Required to support Web Animations `@angular/platform-browser/animations`.
    * Needed for: All but Chrome, Firefox and Opera. http://caniuse.com/#feat=web-animation
    **/
    // import 'web-animations-js'; // Run `npm install --save web-animations-js`.



    /***************************************************************************************************
    * Zone JS is required by default for Angular itself.
    */
    import 'zone.js/dist/zone'; // Included with Angular CLI.



    /***************************************************************************************************
    * APPLICATION IMPORTS
    */
    /* https://github.com/aws/aws-amplify/issues/678 fix: */
    (window as any).global = window;
    /* https://github.com/aws/aws-amplify/issues/678 fix end */



    EDIT2:

    tsconfig.json

    {
    "extends": "../src/tsconfig.app.json",
    "compilerOptions": {
    "types": [
    "node"
    ]
    },
    "exclude": [
    "../src/test.ts",
    "../src/**/*.spec.ts",
    "../projects/**/*.spec.ts",
    "../src/assets/webgl_2019_1/**/*"
    ],
    "include": [
    "../src/**/*",
    "../projects/**/*"
    ],
    "files": [
    "./typings.d.ts"
    ]
    }

    Continue reading...

Compartilhe esta Página