📑
Netlify FunctionsでSteinを動かすメモ
Netlify Functions + Stein を動かすときにハマったメモです。
ソースコード
ハマったところ
Cannot read property 'endsWith' of undefined
解決策
コンストラクタの引数をきちんと渡す。
原因
コンストラクタの引数がnull
またはundefined
になっている。
エラーメッセージ
undefined ERROR Uncaught Exception {
"errorType":"TypeError",
"errorMessage":"Cannot read property 'endsWith' of undefined",
"stack":["TypeError: Cannot read property 'endsWith' of undefined",
" at new SteinStore (/var/task/src/node_modules/stein-js-client/index.js:7:25)",
" at Object.<anonymous> (/var/task/src/functions/read.js:2:15)",
" at Module._compile (internal/modules/cjs/loader.js:1015:30)",
" at Object.Module._extensions..js (internal/modules/cjs/loader.js:1035:10)",
" at Module.load (internal/modules/cjs/loader.js:879:32)",
" at Function.Module._load (internal/modules/cjs/loader.js:724:14)",
" at Module.require (internal/modules/cjs/loader.js:903:19)",
" at require (internal/modules/cjs/helpers.js:74:18)",
" at Object.<anonymous> (/var/task/read.js:1:18)",
" at Module._compile (internal/modules/cjs/loader.js:1015:30)"]
}
at new SteinStore (/var/task/src/node_modules/stein-js-client/index.js:7:25)
とのことなので、stein-js-client/index.jsの7行目を見てみる。
this.url = storageURL.endsWith("/") ? storageURL : storageURL + "/";
storageURL
が空になっている可能性が高い。
Error: Unable to parse range: Sheet1
解決策
シート名を一致させる。
原因
プログラム上ではSheet1
と指定しているが、シート名はシート1
となっていた。
エラーメッセージ
Error: Unable to parse range: Sheet1
at /var/task/src/node_modules/stein-js-client/src/read.js:35:19
at processTicksAndRejections (internal/process/task_queues.js:97:5)
Discussion