(この人、2019年になってもまだCoffeeScriptつかっている・・・。)
Dynamic Import
って?
モダンブラウザで使える、必要になったときに非同期でモジュールをインポートできるやつです。
以下のように使えます。
javascript
import("jsziptools/zip").then((zip) => {
zip.unpack(hoge)
})
// or
async function foo() {
const zip = await import("jsziptools/zip")
zip.unpack(hoge)
}
CoffeeScript2で
Dynamic Import
はCoffeeScript2ではまだ実装されていません(v2.3.2時点)。
なのでEmbedded JavaScript機能を使う必要があります。
CoffeeScript2では``
で囲った部分がJavaScriptとして解釈されます。
なので上記のJavaScriptの例はCoffeeScript2では以下のように書けます。
CoffeeScript2
`import("jsziptools/zip")`.then (zip) =>
zip.unpack(hoge)
# or
foo() ->
zip = await `import("jsziptools/zip")`
zip.unpack(hoge)
以上です。