Библиотека angular-oauth2-oidc не может загрузить модуль jsrsasign

Я пытаюсь обновить зависимость в Angular для проекта, разветвленного из: https://github.com/mgechev/angular-seed

Зависимость: https://github.com/manfredsteyer/angular-oauth2-oidc однако я не совсем уверен, как должны выглядеть мои файлы System.JS, чтобы правильно загрузить зависимость jsrsasign, на которую опирается oauth2-oidc. На данный момент у меня есть файл project.config.ts, который выглядит так:

   // Add packages
    let additionalPackages: ExtendPackages[] = [
      {
       name: 'angular-oauth2-oidc',
       // Path to the package's bundle
       path: 'node_modules/angular-oauth2-oidc/angular-oauth2-oidc.umd.js'
      },
      {
       name: 'jsrsasign',
       // Path to the package's bundle
       path: 'node_modules/jsrsasign/lib/jsrsasign.js'
      }
     ];

Загрузка моего проекта приводит к такой ошибке:

    (SystemJS) Module not already loaded loading "jsrsasign" as http://localhost:5555/node_modules/jsrsasign/lib/jsrsasign.
        Error: Module not already loaded loading "jsrsasign" as http://localhost:5555/node_modules/jsrsasign/lib/jsrsasign.
  at Object.eval (http://localhost:5555/node_modules/angular-oauth2-oidc/angular-oauth2-oidc.umd.js:1862:10)

Я охотился в Интернете вверх и вниз и, похоже, не могу понять, как заставить это загружаться.

Эта документация здесь: https://manfredsteyer.github.io/angular-oauth2-oidc/angular-oauth2-oidc/docs/additional-documentation/using-systemjs.html

Кажется, предлагает ответ, но я уже пытался добавить это в seed.config.ts без какой-либо радости.

Следующее взято непосредственно из моего файла seed.config.ts: введите здесь описание изображения

Может ли кто-нибудь объяснить, как правильно настроить эту библиотеку специально для System.JS/Angular seed?


person Squiggs.    schedule 29.09.2017    source источник


Ответы (2)


это, кажется, дает лучшие результаты (в пакетах).

   'angular-oauth2-oidc': {
        main: 'angular-oauth2-oidc.umd.js',
        format: 'cjs',
        defaultExtension: 'js',
        map: {
          'jsrsasign': '/node_modules/jsrsasign/lib/jsrsasign',
        },
        meta: {
            'angular-oauth2-oidc': {
                deps: ['require','jsrsasign']
            },
        }
  }
person Squiggs.    schedule 29.09.2017

это работает для меня в моем файле project.config.ts

    const additionalPackages: ExtendPackages[] = [
  {
    name: 'jsrsasign',
    path: 'node_modules/jsrsasign',
    packageMeta: {
      main: 'lib/jsrsasign.js',
      export: "jsrsasign"
    }
  },
  {
    name: 'angular-oauth2-oidc',
    path: 'node_modules/angular-oauth2-oidc',
    packageMeta: {
      main: 'angular-oauth2-oidc.umd.js',
      format: 'cjs',
      defaultExtension: 'js',
      meta: {
        'angular-oauth2-oidc': {
          deps: ['require', 'jsrsasign']
        },
      }
    }
  }
];

this.addPackagesBundles(additionalPackages);
person JoyC    schedule 03.01.2018