0

我正在使用一些 js 库(如 prismjs)构建一个电子 js 应用程序。

我尝试将@types/prismjs 添加到我的节点模块和许多其他方式

但仍然打字稿尝试导入它import {something} from "prismjs"(在我不想要的生成的js文件中)

我在堆栈溢出中看到过类似的问题,但没有一个能解决我的问题。

应用程序/ts 配置

{
    "compilerOptions": {
        "module": "ES2020",
        "target": "ES2021",
        "noImplicitAny": true,
        "removeComments": true,
        "allowUnreachableCode": false,
        "strictNullChecks": true,
        "strict": true,
        "noImplicitUseStrict": false,
        "alwaysStrict": true,
        "allowSyntheticDefaultImports": true,
        "typeRoots": ["../node_modules/@types"],
        "sourceMap": true
    }
}

应用程序/script.ts

import { highlightElement } from "prismjs";

window.addEventListener("keyup", ev => {
    if (ev.key === "F5") window.location.reload();
});

const el = document.querySelectorAll("code")[1];
el.onkeyup = () => {
    highlightElement(el);
};

项目结构 在此输入图片描述

4

1 回答 1

0

然而......经过数小时的研究,我终于找到了解决这个问题的方法。感谢这个答案https://stackoverflow.com/a/55377372/16906284

在下面添加两tsconfig.json行将解决该问题...

{
    ...
    "typeRoots": [ "node_modules/types" ],
    "types": [ "prismjs" ]
}
于 2021-09-14T16:43:02.937 回答