Bonjour,

Alors voilà...
j'ai installé webpack avec vue-cli pour faire quelque tests,
notamment avex PIXI.js
et j'ai des soucis avec le chargement de Json

Voilà ma founction que j'appele sur le hook 'mounted'

        load() {

            //http://englercj.github.io/resource-loader/index.html
            let loader = new PIXI.loaders.Loader()
            loader.reset()

            let returnJson = require('../assets/data/datas.json')
            console.log('require =>', returnJson)

            let xhr = new XMLHttpRequest()
            xhr.onreadystatechange = function() {
                if (xhr.readyState == 4 && xhr.status == 200) {
                    const obj = xhr.responseText
                    console.log('xhr =>', obj)
                }
            }

            xhr.open('GET', returnJson, true)
            xhr.send()

            const returnImg = require('../assets/img/threshold.jpg')

            loader.add({ name:'myJson', url: '../assets/data/datas.json' })
            loader.add({ name:'myImg', url: returnImg })

            loader.load( (loader, resources) => {
                console.log('Loader img =>', resources.myImg)
                console.log(Loader Json =>', resources.myJson)
            })

        }

Lorsque je cherche le json avec require, j'ai bien mon json dans la console.
Lorsque je l'apelle avec XMLHttpRequest, je devrais avoir le json sous forme de string,
mais j'ai ca ( l'index pardefaut parce que je n'ai pas de bon url)

xhr =><!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title>template-pixi</title>
    <script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.26/webfont.js"></script>
  </head>
  <body>
    <div id="app"></div>
    <!-- built files will be auto injected -->
  <script type="text/javascript" src="/app.js"></script></body>
</html>

Pareil lorsque j'utilise le Loader de PIXI...

A noter que j'ai monté un webpack avec create-react-app pour tester.
Et j'ai exactement le méme probléme.

J'imagine que cela vient XMLHttpRequest dans webpack, car le json est trouvé et interprété avec le require...
Voilà... Si quelqu'un a un début de piste, je suis preneur

Merci d'avance :)

3 réponses


je te conseille d'utiliser une library tel que axios ou unirest ils sont basé sur les promess

Oui, je me suis orienté vers axios.
Je ne maîtrise pas très bien webpack, je demanderai sur le github de webpack pourquoi on ne peut pas faire de requète avec l'objet XMLHttpRequest.

normalement ça devrait marcher , peut etre un bug