gpt4 book ai didi

angular - 如何使用 typescript/angular 2 正确使用 PrismJS 及其类型

转载 作者:太空狗 更新时间:2023-10-29 17:46:24 31 4
gpt4 key购买 nike

我正在使用 angular-cli 构建一个小应用程序,我想使用 PrismJS 但我无法让它工作。

基本上,我创建了一个vendor 文件夹,我将我的 Prism 脚本和样式放在其中,并将它们加载到 index.html 中。

我还需要安装类型定义以便能够编译我的应用程序:

npm i --save-dev @typings/prismjs

然后,我只需在我的代码中的任何位置调用 Prism.whatever(),但这不起作用。

甚至我的 IDE 也无法识别命名空间 Prism

通过查看定义(index.d.ts)的内容我看到从1.6版本开始,不包含

declare var Prism : PrismJS.Prism;

不再。只有一些 export namespace Prism。所以我想知道我是否必须导入一些东西,因为使用了任何 declare

从定义文件中导入一些东西对我来说似乎很奇怪。

因为我想跳过这个,所以我安装了一个旧版本的定义 (1.4.16),其中包含

declare var Prism : PrismJS.Prism;

现在,我的 IDE (webstorm) 很开心!它可以识别 Prism。但是当我尝试编译时,webpack 仍然输出错误:

Cannot find name 'Prism'

所以我的问题很基本:我忘记了什么?

很抱歉这个显而易见的问题。

谢谢!

最佳答案

在 angular-cli 中添加这样的 prism.js:

"scripts": [
"../node_modules/prismjs/prism.js"
],

在那之后,你可以让 typescript 满意

declare var Prism;

然后像那样使用它

<code [innerHtml]="myCode"></code>

ngAfterViewInit() {
const code = 'var data = 1;';
this.myCode = Prism.highlight(code, Prism.languages.javascript);
}

关于angular - 如何使用 typescript/angular 2 正确使用 PrismJS 及其类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44506673/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com