【问题标题】:cannot find name with typescript and deno找不到带有 typescript 和 deno 的名称
【发布时间】:2021-08-04 06:07:34
【问题描述】:

这是我的代码:

/**
 * map.ts
 */


// @deno-types="./libs/@types/geojson/index.d.ts"
// @deno-types="./libs/@types/mapbox-gl/index.d.ts"

mapboxgl.accessToken =  "toto";

var map = new mapboxgl.Map({
  container: 'map', // container id
  style: 'mapbox://styles/mapbox/streets-v11', // style URL
  center: [-74.5, 40], // starting position [lng, lat]
  zoom: 9 // starting zoom
  });

但即使我已经导入了 mapbox 的定义

// @deno-types="./libs/@types/geojson/index.d.ts"
// @deno-types="./libs/@types/mapbox-gl/index.d.ts"

我有错误:

error: TS2304 [ERROR]: Cannot find name 'mapboxgl'.
mapboxgl.accessToken =  "toto";
~~~~~~~~
    at file:///home/bussiere/Workspace/testdeno2/map.ts:9:1

TS2304 [ERROR]: Cannot find name 'mapboxgl'.
var map = new mapboxgl.Map({
              ~~~~~~~~
    at file:///home/bussiere/Workspace/testdeno2/map.ts:11:15

Found 2 errors.

如何以我可以使用名称和定义的方式正确导入定义。

这里是 github: https://github.com/bussiere/testdeno2

编辑:

这是未捕获的错误:

error: Uncaught (in promise) RuntimeError: unreachable
    at <anonymous> (wasm://wasm/00247702:1:336403)
    at <anonymous> (wasm://wasm/00247702:1:341096)
    at <anonymous> (wasm://wasm/00247702:1:339419)
    at <anonymous> (wasm://wasm/00247702:1:339781)
    at <anonymous> (wasm://wasm/00247702:1:336272)
    at <anonymous> (wasm://wasm/00247702:1:268321)
    at minify (wasm://wasm/00247702:1:253183)
    at minify (https://deno.land/x/minifier@v1.1.1/wasm.js:98:14)
    at minify (https://deno.land/x/minifier@v1.1.1/mod.ts:27:10)
    at https://deno.land/x/minifier@v1.1.1/cli.ts:53:3

问候

【问题讨论】:

    标签: typescript deno


    【解决方案1】:

    没有库的参考,我认为您可以从 skypack 或 pika 安装软件包以轻松升级和降级,而不是将 lib 复制到您的 repo。

    通过运行deno info缓存第三方库

    deno info "https://cdn.skypack.dev/@types/mapbox-gl"
    or 
    deno info "https://cdn.pika.dev/mapbox-gl@^2.2.0" 
    

    导入带有类型定义的 mapbox-gl

    // @deno-types="./libs/@types/mapbox-gl/index.d.ts"
    import mapboxgl from "https://cdn.skypack.dev/mapbox-gl";
    // or import mapboxgl from "https://cdn.pika.dev/mapbox-gl@^2.2.0";
    
    mapboxgl.accessToken = "toto";
    
    const map = new mapboxgl.Map({
      container: "map", // container id
      style: "mapbox://styles/mapbox/streets-v11", // style URL
      center: [-74.5, 40], // starting position [lng, lat]
      zoom: 9, // starting zoom
    });
    
    

    【讨论】:

    • 我仍然有错误:未捕获(承诺)RuntimeError:无论如何都无法访问
    • 你能分享更多关于 Uncaught (in promise) RuntimeError: 的信息吗?我认为类型问题应该解决?
    • 资助未捕获的已共享
    猜你喜欢
    • 2016-01-24
    • 2016-05-23
    • 2016-11-05
    • 2018-08-29
    • 1970-01-01
    • 2019-07-23
    • 2017-08-14
    • 1970-01-01
    相关资源
    最近更新 更多