var PIXI = require('pixi.js');
Upaya pertama memberi saya banyak kesalahan 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...
Jadi saya menetapkan node: { fs: "empty" }
di konfigurasi webpack dan itu menyingkirkan kesalahan di atas.
Tapi kemudian kesalahan ini:
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
Jadi saya menambahkan json-loader ke konfigurasi webpack.
module: {
loaders: [{
test: /\.json$/,
loader: 'json-loader'
}]
}
Keberhasilan. Akan lebih baik jika ini berhasil di luar kotak.
Kami menggunakan browserify brfs
transform:
https://github.com/GoodBoyDigital/pixi.js/blob/master/package.json#L57 -L61
Saya tidak yakin bagaimana Anda akan membuat webpack kompatibel, apakah ada artikel tentang webpack yang menjalankan transformasi browserify?
@drkibitz @englercj Terima kasih atas petunjuknya, saya dapat memulai dengan Pixi + Webpack menggunakan transform-loader + json-loader.
@fusepilot Berikut adalah konfigurasi webpack yang saya gunakan.
Saya tidak bisa menjalankan konfigurasi https://gist.github.com/oal/898df82fa64e54dd16d0
Penutupan karena ini sepertinya dijawab.
Saya tidak dapat memecahkan masalah di mana pixi.js/src/core/const.js
mencoba meminta ../../package.json
dan membuat kesalahan Cannot find module "../../package.json"
. Saya mencoba dengan kedua cara oleh @oal. Ini hanya terjadi ketika saya menggunakan hot module reload, pada build produksi itu berfungsi dengan baik.
Saya akhirnya menggunakan versi bawaan dari pixi.js seperti import PIXI from 'pixi.js/bin/pixi.js'
. Dan sekarang saya melihat peringatan tetapi hot reload berfungsi:
[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
Saya kira Anda mungkin memerlukan beberapa jenis plugin untuk webpack agar dapat mendukung .json memerlukan pemuatan? Node / browserify mendukungnya secara native.
@englercj Ini didukung ketika json-loader
dikonfigurasi. Saya bukan ahli webpack tetapi ini mungkin beberapa masalah yang disebabkan oleh webpack-hot-middleware , karena bundel berfungsi, kesalahan hanya muncul pada mode dev.
Hmm, aneh. Ya maaf saya juga tidak terbiasa dengan itu: /
Webpack memiliki opsi untuk memuat pustaka "pra-pengemasan" tanpa menguraikannya (seperti pixi.js), cukup tambahkan noParse ke bagian modul Anda di konfigurasi webpack, sesuatu seperti itu:
module: {
noParse: [
/.*(pixi\.js).*/
],
}
Potongan ini harus menyelesaikan masalah dengan kebutuhan internal.
Ini adalah contoh paling langsung dan sederhana dari mengkonfigurasi webpack dengan PIXI yang saya temukan.
Inti ini adalah konfigurasi webpack + pixi.js paling sederhana:
https://gist.github.com/mjackson/ecd3914ebee934f4daf4
(dengan komentar bagus)
inti yang ditautkan di atas menderita bug yang terkait dengan pixijs / pixi. js @ 5a53e38 - Nomor versi pixi dilaporkan sebagai __VERSION__
webpack.config.js
harus menyertakan pemuat ini:
{
include: path.resolve(__dirname, 'node_modules/pixi.js'),
loader: 'transform/cacheable?browserify-versionify'
}
@mjackson menyebutkan di sini karena inti komentar tampaknya tidak mengirim pemberitahuan 😞
Baru saja mengalami masalah ini. Terima kasih banyak atas solusinya!
Berikut adalah konfigurasi yang berfungsi untuk Webpack / Typecript dan PixiJS :-). https://gist.github.com/Nek-/b9775f7a88eb896db8afc37a89db3771
Utas ini telah dikunci secara otomatis karena tidak ada aktivitas baru-baru ini setelah ditutup. Silakan buka masalah baru untuk bug terkait.
Komentar yang paling membantu
Webpack memiliki opsi untuk memuat pustaka "pra-pengemasan" tanpa menguraikannya (seperti pixi.js), cukup tambahkan noParse ke bagian modul Anda di konfigurasi webpack, sesuatu seperti itu:
module: { noParse: [ /.*(pixi\.js).*/ ], }
Potongan ini harus menyelesaikan masalah dengan kebutuhan internal.