【问题标题】:How to get the typescript compiler to find bokeh's "*d.ts" files如何让打字稿编译器找到散景的“*d.ts”文件
【发布时间】:2021-06-14 20:58:24
【问题描述】:

我最近从 Bokeh 不错的内联扩展框架转移到 their npm based out of line build system,我正在尝试构建我的扩展,但 Bokeh 将所有 TypeScript *.ts.d 安装在一个单独的树中,例如:

bash$ find node_modules -name 'serialization.*'
node_modules/@bokeh/bokehjs/build/js/types/core/util/serialization.d.ts
node_modules/@bokeh/bokehjs/build/js/lib/core/util/serialization.js
bash$ 

在内联构建系统中,这个文件像import { is_NDArray_ref, decode_NDArray } from "core/util/serialization"一样被导入。

有没有办法使用tsconfig.json 选项让我的扩展文件继续使用core/util/serialization 进行导入和使用 Bokeh 的节点安装布局查找 JavaScript 和 TypeScript 描述。 p>

我的package.json 中唯一的依赖是:

  "dependencies": {
    "@bokeh/bokehjs": "^2.3.1"
  },

即使我将导入路径更改为使用.../lib/...,TypeScript 也找不到*.d.ts 文件,如果我将导入路径更改为使用.../types/...,如果找到类型并编译但链接器找不到JavaScript。我使用 Bokeh 的 bokeh init 来创建我的构建沙箱...感谢您的任何建议...

【问题讨论】:

    标签: javascript typescript bokeh tsconfig


    【解决方案1】:

    我在Bokeh ticket 中找到了答案。简而言之,添加:

    "paths": {
      "@bokehjs/*": [
        "./node_modules/@bokeh/bokehjs/build/js/lib/*",
        "./node_modules/@bokeh/bokehjs/build/js/types/*"
      ]
    }
    

    compilerOptions 属性中的tsconfig.json 文件允许导入如下:

    import { is_NDArray_ref, decode_NDArray } from "@bokehjs/core/util/serialization"
    

    这似乎很合理。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-02
      • 2018-03-04
      • 1970-01-01
      • 2021-07-08
      • 2020-04-30
      • 2018-09-13
      • 2015-06-12
      • 2019-02-27
      相关资源
      最近更新 更多