【问题标题】:Cannot find name 'document'. Do you need to change your target library? Try changing the `lib` compiler option to include 'dom'.ts(2584)找不到名称“文档”。您需要更改目标库吗?尝试更改 `lib` 编译器选项以包含 'dom'.ts(2584)
【发布时间】:2020-12-05 11:51:22
【问题描述】:

我想使用 typescript 将 html 字符串转换为 deno 中的 html 元素。我为它找到了这个函数:

function createElementFromHTML(htmlString: string) {
  var div = document.createElement('div');
  div.innerHTML = htmlString.trim();

  return div.firstChild; 
}

当我用这个命令运行它时:

deno run --allow-net .\scripts\API\fetchUtils.ts

它告诉我:

找不到名称“文档”。您需要更改目标库吗?尝试更改 lib 编译器选项以包含 'dom'.ts(2584)

经过一番搜索,我发现我需要将其添加到我的 tsconfig 中:

{
  "compilerOptions": {
    "allowJs": true,
    "esModuleInterop": true,
    "lib": ["esnext", "DOM"],
    "module": "esnext",
    "moduleResolution": "node",
    "noEmit": true,
    "pretty": true,
    "resolveJsonModule": true,
    "target": "esnext"
  },
  "include": [
    "./**/*.ts"
  ]
}

我仍然遇到同样的错误,重新启动等没有帮助。

我不知道这是否会有所不同,但从我从控制台开始运行 deno 文件的角度来看,这就是我的项目的结构:

scripts
  -API
    -fetchUtils.ts
tsconfig.json

【问题讨论】:

  • 在“lib”(tsconfig.json)中包含“DOM”是否有效?不是“dom”吗?

标签: typescript tsconfig deno


【解决方案1】:

vscode_deno #318

deno.config 可能未设置为“./tsconfig.json”(或其路径)

如果您使用的是 vscode,请按照提到的问题进行操作。 如果没有,do configuration

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-15
    • 2016-08-05
    • 1970-01-01
    • 2018-04-19
    相关资源
    最近更新 更多