如何在TypeScript中导入Vanilla JS ES6模块?

4

我正在尝试导入这个库:spotlight,它是纯JS的。

在我的项目中,我创建了一个假的d.ts

declare module 'spotlight.js'

正如VSCode所建议的那样,我尝试了每一种导入组合:

import * as spotlight from 'spotlight';
import spotlight from 'spotlight';
import { spotlight } from 'spotlight';

但是在我的代码中,spotlight表达式总是一个空对象。

我错过了什么吗?

3个回答

3

2

正如@Shinigami所指出的那样-存在一个未解决的问题。就我看来,现在没有一种优雅的方式可以导入Spotlight对象而不对库进行修改(似乎npm run build也没有什么帮助)。但是,根据代码,Spotlight可通过window访问。因此,可以像这样使用它:

import "spotlight"
window.Spotlight.show(...)

有趣。你知道我们是否可以省略 {} from,直接使用 import "spotlight" 吗? - Shinigami
1
@Shinigami,是的,我们可以。已经修复了。 - x00

0

声明语句必须最初在单独的文件中,同时确保您提供了正确的导入语句路径。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接