【问题标题】:angular-oauth2-oidc library can't load jsrsasign moduleangular-oauth2-oidc 库无法加载 jsrsasign 模块
【发布时间】:2017-09-29 13:31:43
【问题描述】:

我正在尝试为来自 https://github.com/mgechev/angular-seed 的项目升级 Angular 中的依赖项

依赖项是:https://github.com/manfredsteyer/angular-oauth2-oidc 但是我不太确定我的 System.JS 文件需要如何正确加载 oauth2-oidc 所依赖的 jsrsasign 依赖项。目前,我有一个 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 npm oauth angular-seed angular-oauth2-oidc


    【解决方案1】:

    这似乎得到了更好的结果(在包下)。

       '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']
                },
            }
      }
    

    【讨论】:

      【解决方案2】:

      这在我的 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);
      

      【讨论】:

        猜你喜欢
        • 2022-12-22
        • 2020-04-11
        • 1970-01-01
        • 1970-01-01
        • 2018-06-30
        • 2022-08-23
        • 2020-01-11
        • 2016-12-13
        • 1970-01-01
        相关资源
        最近更新 更多