angular-oauth2-oidc 库无法加载 jsrsasign 模块
angular-oauth2-oidc library can't load jsrsasign module
我正在尝试为从 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)
我在网上四处搜寻,似乎无法理解如何强制加载它。
似乎提出了答案,但我已经尝试将其添加到 seed.config.ts 中,但没有任何乐趣。
以下内容直接取自我的 seed.config.ts 文件:
任何人都可以解释如何专门为 System.JS / angular 种子正确配置此库吗?
这似乎获得了更好的结果(在包下)。
'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']
},
}
}
这在我的 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);
我正在尝试为从 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)
我在网上四处搜寻,似乎无法理解如何强制加载它。
似乎提出了答案,但我已经尝试将其添加到 seed.config.ts 中,但没有任何乐趣。
以下内容直接取自我的 seed.config.ts 文件:
任何人都可以解释如何专门为 System.JS / angular 种子正确配置此库吗?
这似乎获得了更好的结果(在包下)。
'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']
},
}
}
这在我的 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);