var PIXI = require('pixi.js');
最初の試みで、たくさんのwebpackエラーが発生しました。
ERROR in ./~/pixi.js/src/filters/ascii/AsciiFilter.js
Module not found: Error: Cannot resolve module 'fs' in /Users/michaeldelaney/Workspace/web_dev/gulp-starter/node_modules/pixi.js/src/filters/ascii
@ ./~/pixi.js/src/filters/ascii/AsciiFilter.js 3:9-22
ERROR in ./~/pixi.js/src/filters/blur/BlurXFilter.js
Module not found: Error: Cannot resolve module 'fs' in /Users/michaeldelaney/Workspace/web_dev/gulp-starter/node_modules/pixi.js/src/filters/blur
@ ./~/pixi.js/src/filters/blur/BlurXFilter.js 3:9-22
ERROR in ./~/pixi.js/src/filters/blur/BlurYFilter.js
Module not found: Error: Cannot resolve module 'fs' in /Users/michaeldelaney/Workspace/web_dev/gulp-starter/node_modules/pixi.js/src/filters/blur
@ ./~/pixi.js/src/filters/blur/BlurYFilter.js 3:9-22
etc...
そこで、webpackの設定でnode: { fs: "empty" }
を設定すると、上記のエラーが解消されました。
しかし、このエラー:
ERROR in ./~/pixi.js/package.json
Module parse failed: /Users/michaeldelaney/Workspace/web_dev/gulp-starter/node_modules/pixi.js/package.json Line 2: Unexpected token :
You may need an appropriate loader to handle this file type.
| {
| "name": "pixi.js",
| "version": "3.0.6",
| "description": "Pixi.js is a fast lightweight 2D library that works across all devices.",
@ ./~/pixi.js/src/core/const.js 14:13-42
そこで、 json-loaderをwebpackの設定に追加しました。
module: {
loaders: [{
test: /\.json$/,
loader: 'json-loader'
}]
}
成功。 しかし、これが箱から出してうまくいったらいいのにと思います。
browserify brfs
変換を使用します。
https://github.com/GoodBoyDigital/pixi.js/blob/master/package.json#L57 -L61
そのwebpackを互換性のあるものにする方法がわかりませんが、browserifyトランスフォームを実行しているwebpackに関する記事はありますか?
@drkibitz @englercjヒントをありがとう、transform-loader + json-loaderを使用してPixi + Webpackを使い始めることができました。
@fusepilotこれが私が使用しているwebpack設定です。
Babelを使用しているときに@mkingの設定を機能させることができませんでした。 brfsをpostLoadersに移動する必要がありましたが、現在は機能しています: https ://gist.github.com/oal/898df82fa64e54dd16d0
これは答えられたようですので、締めくくります。
pixi.js/src/core/const.js
が../../package.json
を要求しようとし、エラーCannot find module "../../package.json"
発生するという問題を解決できません両方の方法を試しました。 これは、ホットモジュールのリロードを使用している場合にのみ発生しますが、本番ビルドでは正常に機能します。
結局、 import PIXI from 'pixi.js/bin/pixi.js'
ようなビルドバージョンのpixi.jsを使用することになりました。 そして今、警告が表示されますが、ホットリロードは機能します:
[HMR] ./~/pixi.js/bin/pixi.js
Critical dependencies:
34:477-484 This seems to be a pre-built javascript file. Though this is possible, it's not recommended. Try to require the original source to get better results.
@ ./~/pixi.js/bin/pixi.js 34:477-484
.jsonをサポートするためにwebpack用のプラグインが必要になるかもしれません。 Node / browserifyはそれをネイティブにサポートします。
@englercj json-loader
が構成されている場合にサポートされます。 私はwebpackの専門家ではありませんが、これはwebpack-hot-middlewareが原因の問題である可能性があります。バンドルが機能するため、エラーは
うーん、変だ。 うん、すみません、私もよく知らないです:/
Webpackには、解析せずに「事前にパックされた」ライブラリ(pixi.jsなど)をロードするオプションがあります。webpackconfigのモジュールセクションにnoParseを追加するだけです。
module: {
noParse: [
/.*(pixi\.js).*/
],
}
このスニペットは、内部要件の問題を解決する必要があります。
これは、私が見つけたPIXIを使用してwebpackを構成する最も直接的で単純な例です。
上にリンクされている要点は、pixijs / pixiに関連するバグに悩まされています。 js @ 5a53e38 - __VERSION__
として報告されます
webpack.config.js
は、次のローダーを含める必要があります。
{
include: path.resolve(__dirname, 'node_modules/pixi.js'),
loader: 'transform/cacheable?browserify-versionify'
}
@mjacksonがここで言及しているのは、要点のコメントは明らかに通知を送信しないためです😞
ちょうどこの問題に遭遇しました。 解決策をどうもありがとう!
これがWebpack / TypescriptとPixiJSの動作構成です:-)。 https://gist.github.com/Nek-/b9775f7a88eb896db8afc37a89db3771
このスレッドは、閉じられた後に最近のアクティビティがないため、自動的にロックされています。 関連するバグについては、新しい問題を開いてください。
最も参考になるコメント
Webpackには、解析せずに「事前にパックされた」ライブラリ(pixi.jsなど)をロードするオプションがあります。webpackconfigのモジュールセクションにnoParseを追加するだけです。
module: { noParse: [ /.*(pixi\.js).*/ ], }
このスニペットは、内部要件の問題を解決する必要があります。