4

我有一个src/client/main.ts包含此代码的文件:

import * as lunr from 'lunr';

console.log('main');

我已经为 lunr 安装了 dt 分型typings install dt~lunr --save --globals

我的 tsconfig.json 文件有以下选择器:

"filesGlob": [
  "src/**/*.ts"
],
"files": [
  "typings/index.d.ts"
]

为什么打字稿编译器找不到模块lunr?编译器总是输出error TS2307: Cannot find module 'lunr'

4

1 回答 1

0

在查看了 lunr 的类型后,我看到它定义了一个namespace. https://www.typescriptlang.org/docs/handbook/namespaces-and-modules.html

这意味着它不应用作导入,而应用作全局对象上的命名空间。所以我的 main.ts 文件变为:

lunr(function() { console.log('do something with lunr') });

console.log('main');

script并在加载您自己的脚本之前使用标签将 lunr 库加载到您的 html 文件中。

我失去了将近 2 个小时的时间......伤心......

于 2016-06-25T22:31:13.670 回答