Typescript 独立BokehJS示例

Typescript 独立BokehJS示例,typescript,bokeh,bokehjs,Typescript,Bokeh,Bokehjs,作为typescript的新手,但又是Bokeh的经验丰富的用户,我正尝试使用其中的一个并独立运行它——这超出了Bokeh git repo的文件层次结构 例如,如果我想运行burtin示例,我会将.ts、.html和tsconfig.json从examples目录的顶层复制到一个新文件夹中。然后,我可以修改.html文件中的链接和脚本标记,以指向相应资源的本地副本。当我尝试运行tsc burtin.ts时,我会出现以下错误: $ tsc burtin.ts burtin.ts(2,16): e

作为typescript的新手,但又是Bokeh的经验丰富的用户,我正尝试使用其中的一个并独立运行它——这超出了Bokeh git repo的文件层次结构

例如,如果我想运行burtin示例,我会将.ts、.html和tsconfig.json从examples目录的顶层复制到一个新文件夹中。然后,我可以修改.html文件中的链接和脚本标记,以指向相应资源的本地副本。当我尝试运行tsc burtin.ts时,我会出现以下错误:

$ tsc burtin.ts
burtin.ts(2,16): error TS2304: Cannot find name 'Bokeh'.
burtin.ts(2,16): error TS2503: Cannot find namespace 'Bokeh'.
burtin.ts(3,27): error TS2304: Cannot find name 'Bokeh'.
burtin.ts(5,18): error TS2503: Cannot find namespace 'Bokeh'.
burtin.ts(6,16): error TS2503: Cannot find namespace 'Bokeh'.
burtin.ts(8,24): error TS2304: Cannot find name 'Bokeh'.
burtin.ts(9,3): error TS2304: Cannot find name 'Bokeh'.
burtin.ts(10,3): error TS2304: Cannot find name 'Bokeh'.
我如何告诉typescript编译器在哪里可以找到Bokeh?burtin示例中的tsconfig.json具有以下特性:

{
  "extends": "../tsconfig.json",
  "files": [
    "../../src/coffee/api/typings.d.ts",
    "burtin.ts"
  ]
}
也许typings.d.ts告诉编译器在哪里查找导出的BokehJS名称,但不清楚我是否需要完整的bokeh源代码库来编译示例。在安装bokeh时,typings.d.ts文件不包括在内

如果您能深入了解如何设置此示例并独立运行它,我们将不胜感激

更新:即使tsc抛出错误,它仍然会生成一个工作的burtin.js,并且html页面显示正确。我只是不清楚是否有一种更优化的方法来设置开发环境

运行tsc burtin.ts会忽略tsconfig.json。您应该运行tsc-ptsconfig.json或tsc-p。相反这样,当找不到键入的d.ts文件时,您将得到一个错误。打字应该是conda和npm软件包的一部分,但看起来我们在这里有一个回归,所以现在你必须求助于克隆bokeh的存储库或处理*.d.ts文件。这些只是编译所必需的,在运行时不使用。无论是否输入,只要没有语法或其他基本错误,并且NoeMitError设置为false,TypeScript仍将编译*.ts文件并生成有效的*.js文件。这是因为TypeScript的类型系统在生成*.js文件之前被完全擦除,并且没有基于程序类型生成代码

鉴于bokehjs中的TypeScript支持正在积极开发中,并且bokehjs正在TypeScript中从头重写,因此在几周内,这方面应该会有重大改进。特别是,将提供覆盖整个图书馆的新的自动生成打字。理想情况下,将包含一个bokeh.d.ts文件