Techioz Blog

Maplibre と Rails 7 のインポートマップ

概要

config/importmap.rb:

pin "maplibre-gl", to: "https://ga.jspm.io/npm:[email protected]/dist/maplibre-gl.js"

ただし、このライブラリを使用しようとすると、「maplibre-gl」(またはこれの一連のバリアント) から import * as maplibregl を実行すると、「「maplibre-gl」を解決できませんでした」というエラーが発生します。

Alex のフィードバックに基づいて編集: インポート マップのインポートされたライブラリをページまたは部分から参照できるようです。ただし、Stimulus コントローラーからは参照できません。これを反映するために質問を調整しました。

インポート マップを使用して Stimulus コントローラーから MapLibre を参照 (および使用) する方法を知っている人はいますか?そして、なぜそこから違うのでしょうか?

サーバー (bin/dev) を再起動しても効果はありません。

私の推測では、MapLibre がモジュールなどを正しくエクスポートしていないのではないかと思います。しかし、それを検証したり、この問題を回避したりすることは、おそらく私には不可能です。

私は、maplibre を HTML ドキュメントの head セクションにスクリプトとして含めることができると期待しています。しかし、それはこの問題を解決する最も賢明な方法とは思えません。

前もって感謝します。

解決策

私が苦労した理由は、インポート時にインポートされたモジュールにデフォルトが接頭辞として付けられるためだと思います。

したがって、次のようにインポートします。

import * as maplibregl from "maplibre-gl"

参照:

new maplibregl.default.Map

デフォルトの使用に注意してください。