javascript - 手动添加声明文件(TypeScript)
我没有找到 'google-spreadsheet' 的声明文件,所以我正在尝试自己创建一个:
在 typings -> modules 中,我添加了一个名为 "google-spreadsheet" 的新文件夹,然后我在其中添加了一个名为 "index.d.ts" 的新文件,内容如下:
export class GoogleSpreadsheet {
}
在客户文件中,我有这个:
import * as GoogleSpreadsheet from 'google-spreadsheet';
但是 'google-spreadsheet' 被标记为红色,并显示:
TS2307 无法找到模块 'google-spreadsheet'。
顺便说一下,我已经用 NPM 安装了 'google-spreadsheet',它在 JavaScript 中可以正常工作。这里只有 TypeScript 让我烦恼。
有什么办法解决这个问题吗?
答案#1
如果你不需要关心这个模块内部的类型,你可以只创建一个 *.d.ts 文件,并放入以下内容(例如,创建一个 typings.d.ts):
declare module 'google-spreadsheet';
要定义模块内的类型,你可以将上述代码更改为:
declare module 'google-spreadsheet' {
// define the types...
}
答案#2
从你的项目根目录开始:
mkdir -p src/@types/google-spreadsheet- 为你的模块类型声明创建一个文件夹。echo "declare module 'google-spreadsheet';" > src/@types/google-spreadsheet/index.d.ts
另外,确保你的 tsconfig 已配置为使用 typeRoots 选项包含 @types 文件夹。
{
"compilerOptions": {
"typeRoots": ["src/@types", "node_modules/@types"]
}
}
此外,你可能还想看看有关声明文件的文档。
