Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How can I use this lib with ES6 import? #11

Open
lgraziani2712 opened this issue Apr 3, 2017 · 12 comments
Open

How can I use this lib with ES6 import? #11

lgraziani2712 opened this issue Apr 3, 2017 · 12 comments

Comments

@lgraziani2712
Copy link

I'm trying to use this addon, but I'm getting errors like this one: DisplayGroup is not a constructor when I try to import from pixi-display.

How can I use it if there is no export statement?

Thank you

@ivanpopelyshev
Copy link
Collaborator

I don't know about ES6 target. My recommendation is not to use pixi and pixi-display as ES6 imports at all, only as global. If you know how to wrap it, modify "bin/pixi-display.js" the way you want it.

@ivanpopelyshev
Copy link
Collaborator

If you find the way it works, I'll try to modify TS source that way too.

@lgraziani2712
Copy link
Author

Can you explain why it is recommended to use PIXI as a global variable?

Thank you!

By the way, I will try to make it work with es6 import/export :)

@jlost
Copy link

jlost commented Apr 15, 2017

+1

@hameleonick
Copy link

Hi @lgraziani2712 ,

you could try
import * as PIXI from 'pixi.js';
import 'pixi-display';
for expample... it works for me

also I used http://scottmcdonnell.github.io/pixi-examples/index.html?s=display&f=zorder.js&title=Z-order&plugins=pixi-display example

@jlost
Copy link

jlost commented Apr 27, 2017

Doesn't it seem wrong that you should "have" to import PIXI as *, rather than just importing the pieces you need in that module?

Either way, I realized that I can achieve the same things I wanted to use this plugin for by just designing with more Containers, and gave up on trying to make it work with my setup.

@hameleonick
Copy link

you also could do like this
import 'pixi-display';
import {DisplayGroup, DisplayList} from 'pixi.js';

@ByronHsu
Copy link

Just put bin in your repo. It works!

@yyman001
Copy link

yyman001 commented Feb 5, 2018

you can require this js

let pixi_display = require('@/components/page/scene/pixi-layers')
//pixi-layers.js
(function (factory) {
  if ( typeof define === 'function' && define.amd ) {
    // AMD. Register as an anonymous module.
    define(['jquery'], factory);
  } else if (typeof exports === 'object') {
    // Node/CommonJS style for Browserify
    module.exports = factory;
  } else {
    // Browser globals
    factory(jQuery);
  }
}(function ($) {
  var pixi_display
 //some about pixi_display code
}))

@Scharnvirk
Copy link

Simply import 'pixi-layers' and then new PIXI.display.Layer() works.

@connorjclark
Copy link

connorjclark commented May 10, 2020

FYI, you can do this to augment PIXI types with this lib's types too (requires typescript 3.8):

import * as PIXI from 'pixi.js';
import type {} from 'pixi-layers'; // typescript now knows about PIXI.display.Layer, etc. 

globalThis.PIXI = PIXI;
require('pixi-layers');

@pr4xx
Copy link

pr4xx commented Dec 19, 2020

I had some trouble setting up my dev environment. I am using webpack via Laravels mix configuration. The import instructions from the docs work for me excpet I get a lot of warning when compiling:
"export 'display' (imported as 'PIXI') was not found in 'pixi.js'
Anyone know how to avoid those warnings?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants