36
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

clasp/typescript の罠

Last updated at Posted at 2019-02-08

Google Apps Script を扱う上で激アツな clasp は、 typescript を書いて google apps に アップロードと同時に変換 できるが、いくつか罠があるのでメモ(version 2.0.1 2019/2/8)

  • typescript 上で import できるが、js変換した際には import 行が消されるだけ。
    • 関数や変数を他のモジュール(ファイル)で定義した名前と同じ名前で別ファイルに定義すると、単純に上書きされる。
    • import が複数行になると、消し逃して構文エラーになる(アップロードして実行されるまで気づかない)
    • import { A as B } としてもアップロード時に消されるだけなので、実際には B が定義されていないことになって死ぬ(IDE等で rename するとありがち)
  • export const したものが他のファイルから import できない
    • 実際には export const hoge=exports.hoge= と変換されるので import どころか同じファイル内でも利用できない。
    • export function は、しても問題ない。
  • いくつかのメソッド ( Array#find 等)が gas 上にはなくて実行時エラーになる
  • 何故か clasp push を2回しないと gas 上のファイルが書き換わっていないことが多い

解決方法をご存知なら教えてください。。。。

36
12
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
36
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?