clojurescript プロジェクトで Sha256 を要求しようとすると、次のようになります。
(ns tutorial-client.sha256
(:require
[goog.crypt.Sha256 :as hasher]))
実際のコンパイル エラーは発生しませんが、ブラウザーで clojurescript->js の出力を開くと、次のエラーが発生します。
Uncaught Error: Undefined nameToPath for goog.crypt.Sha256 base.js:586
Uncaught ReferenceError: cljs is not defined rendering.js:7
goog.require could not find: goog.crypt.Sha256 base.js:333
Uncaught Error: goog.require could not find: goog.crypt.Sha256 base.js:337
Uncaught ReferenceError: cljs is not defined behavior.js:8
Uncaught ReferenceError: cljs is not defined app.js:100
Uncaught TypeError: Cannot read property 'IE' of undefined eventtype.js:60
Uncaught TypeError: Cannot read property 'entryPointRegistry' of undefined events.js:1084
Uncaught TypeError: Cannot read property 'IE' of undefined browserfeature.js:35
Uncaught TypeError: Cannot read property 'Error' of undefined asserts.js:71
Uncaught TypeError: Cannot read property 'prototype' of undefined base.js:1407
Uncaught Error: Invalid event type events.js:139
Uncaught Error: Invalid event type events.js:139
Uncaught TypeError: Cannot call method 'call' of undefined
おそらくほとんど無視できると思いますが、問題は基本的に goog.crypt.Sha256 が見つからないというトップエラーです。面白いことに、コードを次のように変更すると、すべてのエラーを解消できます。
(ns tutorial-client.sha256
(:require
[goog.net.XhrIo :as hasher]))
とにかく、 goog.crypt.sha256 にアクセスしたいだけです。ありがとうございました。