debugging 在Angular中导入JS包会使应用无法渲染

7hiiyaii  于 2023-06-06  发布在  Angular
关注(0)|答案(2)|浏览(134)

我在导入一个包到我的Angular项目时遇到了一些奇怪的行为。我已经将以下包导入到我的项目中:@citation-js/core。如果我试图在组件中使用它,应用程序无法呈现页面,显示加载圆圈(下图)。没有显示错误,我迷路了。任何帮助将不胜感激!谢谢你!
我没有做任何其他的事情,然后以下:
安装软件包的命令

npm install @citation-js/core --save

导致页不呈现的行

import { Cite } from "@citation-js/core";    
let json = await Cite.inputAsync("10.5281/zenodo.1005176");

What the page displays
编辑:将await添加到Cite.inputAsync

cyej8jka

cyej8jka1#

inputAsync返回了一个Promise,所以你需要等待Promise被解决:

let json = await Cite.inputAsync("10.5281/zenodo.1005176");
js81xvg6

js81xvg62#

使用@citation-js/core包时,函数Cite.inputAsync不存在。此外,DOI插件未注册。您可以使用citation-js包,其中函数确实存在并且自动包含DOI插件,但该包已被弃用,引用自述文件:
此存储库包含npm包citation-js,它 Package 了[@citation-js/core和某些插件]以实现向后兼容性。
要从@citation-js/core获取相同的函数,可以执行以下操作:

const { plugins } = require("@citation-js/core");
require("@citation-js/plugin-doi");

let json = plugins.input.chainAsync("10.5281/zenodo.1005176");

请注意,这需要一个额外的依赖项@citation-js/plugin-doi

相关问题