我有一个正在创建Angular库的项目,该项目作为UMD捆绑软件导入到另一个应用程序中。
我想使用Jsonpath库来解析库中组件之一中的json。当我尝试直接在angular应用程序中使用json路径时,它可以正常工作。但是,如果我尝试在库组件中执行相同的操作,则会收到错误消息
“错误TypeError:this.nodes不是函数”
这是我尝试使用它的方式:
import { Component, OnInit } from '@angular/core';
import * as JP from 'jsonpath/jsonpath';
@Component({
selector: 'nom-test',
templateUrl: './test.component.html',
styleUrls: ['./test.component.css']
})
export class TestComponent implements OnInit {
constructor() { }
ngOnInit() {
const t = {id:1};
const r = JP.query(t, '$..*');
console.log(r)
}
}
如果测试组件直接在应用程序中,则此方法有效,但如果组件在库中,则无效。 我尝试使用ng-packagr选项“ umdModuleId”,外部选项,但它们似乎都不起作用。
如果我尝试将jsonpath添加到库的package.json中的bundleDependencies中, 我得到了错误
'query'不是由'node_modules \ jsonpath \ jsonpath.js'导出的 引用
我完全不知道可能是什么原因造成的。