【问题标题】:TS2345 [ERROR]: Argument of type 'string | URL' is not assignable to parameter of type 'string'TS2345 [错误]:'string | 类型的参数URL' 不可分配给“字符串”类型的参数
【发布时间】:2020-11-29 18:14:20
【问题描述】:

我的 Deno 版本。

D:\deno\deno-project\deno-todo-app-master>deno --version
deno 1.2.1
v8 8.5.216
typescript 3.9.2

运行项目的命令

deno run --allow-net --allow-read --allow-write --allow-plugin --unstable app.ts

并给出这个错误

【问题讨论】:

  • 请加app.ts代码
  • 不只显示在这个项目中。在另一个项目中显示错误。
  • 请发布您在上述问题中的代码,以便社区解决

标签: deno


【解决方案1】:

使用最新的std 版本。 v0.62.0 而不是 0.50.0 & 0.57.0

【讨论】:

  • 将 deno 版本升级到 deno 1.2.1。如何检查标准版本
  • 错误:TS2345 [错误]:'string | 类型的参数URL' 不可分配给“字符串”类型的参数。类型“URL”不可分配给类型“字符串”。 return new URL(url).pathname ~~~ at deno.land/std@0.58.0/path/win32.ts:917:18 TS2345 [ERROR]: Argument of type 'string | URL' 不可分配给“字符串”类型的参数。类型“URL”不可分配给类型“字符串”。返回新的 URL(url).pathname; ~~~ deno.land/std@0.58.0/path/posix.ts:438:18 发现2个错误。
  • 你可以通过运行这个命令得到同样的错误:deno run https://deno.land/x/denjucks@1.1.1/src/deps/path/std/path/mod.ts 但不是每个人都得到它
【解决方案2】:

请试试这个。

降级:deno upgrade --version 1.1.3 并等待所有子模块更改版本。

参考 :
https://dev.to/srnv/deno-1-2-0-url-argument-type-solutions-37m0

【讨论】:

    【解决方案3】:

    使用https://deno.land/std@0.79.0

    例子:-

    import { serve } from "https://deno.land/std@0.79.0/http/server.ts";
    const port = 3000;
    const s = serve({ port });
    
    console.log(`server running on port ${port}`);
    for await (const req of s) {
        req.respond({ body: 'hello' });
    }
    

    【讨论】:

      猜你喜欢
      • 2021-08-18
      • 1970-01-01
      • 2018-07-28
      • 2018-02-21
      • 2021-08-19
      • 2018-08-10
      • 2018-10-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多