前提・実現したいこと
Google Apps Script を TypeScript で書くべく、下記のサイトを参考に開発環境を作りました。
clasp が Typescript をサポートした! - Qiita
https://qiita.com/HeRo/items/f2ce057c6b1456e896ad
$ npm init -y $ npm install @google/clasp tslint -D $ npm install @types/google-apps-script -S $ tslint --init
発生している問題・エラーメッセージ
tslint が型に関するエラーを吐いてしまいます。
TypeScript
1function main() { 2 const range: Range = SpreadsheetApp.getActiveSheet().getSelection().getActiveRange(); 3}
エラーメッセージ
Type 'Range' is missing the following properties from type 'Range': commonAncestorContainer, cloneContents, cloneRange, collapse, and 29 more.
試したこと
VScode の Go to definition
で SpreadsheetApp
と Range
の定義を参照してみました。
SpreadsheetApp
は正しく、node_modules/@types/google-apps-script/google-apps-script.spreadsheet.d.ts
を参照しているようなのですが、
Range
が /Applications/Visual Studio Code.app/Contents/Resources/app/extensions/node_modules/typescript/lib/lib.dom.d.ts
を参照してしまっています。
import
で Range
を一意に決めてあげれば解消できるかと思いましたが、やり方が今ひとつ分からず、
うまくいきませんでした。
補足情報(FW/ツールのバージョンなど)
- VSCode 1.43.0
- Node.js: 12.8.1
- V8: 7.8.279.23-electron.0
- OS: Darwin x64 19.3.0
- tslint: 6.1.0
TypeScript でのプログラミング経験はありますが、結局、型定義についてはよくわからないままでした。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/23 14:03 編集
2020/03/23 14:04