Pixi.js: Kompatibilitas dengan webpack

Dibuat pada 28 Mei 2015  ·  16Komentar  ·  Sumber: pixijs/pixi.js

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.

🤔 Question

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.

Semua 16 komentar

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.

https://gist.github.com/mjackson/ecd3914ebee934f4daf4

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

readygosports picture readygosports  ·  3Komentar

lucap86 picture lucap86  ·  3Komentar

lunabunn picture lunabunn  ·  3Komentar

samueller picture samueller  ·  3Komentar

neciszhang picture neciszhang  ·  3Komentar