SnowpackアプリケーションにPixiをインポートしようとしていますが、NPMのPixiパッケージにはesmファイル( /lib/pixi.es.js
)が含まれていますが、ノードのネイティブライブラリを使用しているため、ブラウザーに直接ロードすることはできません(例: url
)。
Rollup、Webpack、またはその他のバンドラーを使用せずに、PixiJSをESモジュールとしてインポートすることは可能ですか?
Rollup、Webpack、Parcelはすべて、ノードのURLとパスユーティリティに組み込みのポリフィルを提供できます。 私はSnowpackに精通していませんが、これらをオーバーライドできますか? 一緒にインストールできる同じ名前のパブリックパッケージ(URLなど)もありますか?
もう1つのオプションは、ノードのような依存関係をプロジェクトから削除することです。 それを行う前に、まずこの問題のSnowpack回避策を見つけようとします。 また、上記の他のバンドルはすべてpixiによって非公式にサポートされています。 Snowpackベースのボイラープレートプロジェクトは、これをテストし、このツールをサポートするための最良の方法を見つけるのに役立ちます。
このツールもサポートします
そういうことです…そんな道具は使いたくないです。
Snowpackはとにかくコードを変換しません(変換できますが、それは重要ではありません)。 アイデアは、オープンWeb標準のみを使用することです。
Web標準であるからといって、Pixiがそれをサポートしているわけではありません。 採用率が低いか、さまざまなブラウザで実行しようとしているため、まだサポートされていない最新のブラウザ機能がたくさんあります。 これは、ESモジュールを直接実行するための最初のリクエストです。 それは悪い考えではありませんが、現時点では大きな優先事項ではありません。
ESビルドは、モジュールのインポートを使用してブラウザーで実行されないようにバンドルを使用したツリーシェイクをサポートするために追加されました。
誰かがこの仕事を引き受けたいのなら、私たちはPRを検討するでしょう。
非常に残念なことに、皆さんはesモジュールバージョンを持っていません。
これは素晴らしいものになるでしょう
さて、皆さんの声が聞こえます。 ブラウザベースのESMバンドルに取り組みます。
とりあえずこれを作成しました。 私が抱えていた問題は、開発モードでライブラリをトランスパイルすると速度が遅くなることでした。 したがって、解決策。
@ SagnikPradhan404壊れたリンク🤔
@DrSensorは、devブランチからの公式ビルドです。 まだリリースはありませんが、v5.4.0でリリースされる予定です。
https://github.com/bigtimebuddy/pixi.js-browser-module-example
@DrSensor申し訳ありませんが、ここに新しいリンクがあります。 結局、単純なスクリプトをパッケージに変えてしまいました。
最も参考になるコメント
さて、皆さんの声が聞こえます。 ブラウザベースのESMバンドルに取り組みます。