我有一个包含以下代码的文件:
import * as lunr from 'lunr';
console.log('main');
我已经安装了lunr
src/client/main.ts
的dt类型我的tsconfig.json文件具有以下选择器:
"filesGlob": [
"src/**/*.ts"
],
"files": [
"typings/index.d.ts"
]
为什么typescript编译器找不到模块?编译器总是输出
typings install dt~lunr --save --globals
最佳答案
在看了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
标记在html文件中加载lunr库。我损失了将近两个小时的时间…悲伤…