Bonjour,

Je suis sur un projet avec symfony 4 et j'ai une question sur Webpack et Encore:
J'aimerai simplement ajouter une librairie js (Noty js) mais je m'y prend mal.

J'ai tapé la commande : npm install noty
Ensuite, j'ai ajouté dans app.js:

import 'noty

Lorsque je fais un test avec :

<script>
        new Noty({
            text: 'test',
            type: 'success',
            layout: 'topRight',
            theme: 'bootstrap-v3',
            timeout: 3000
        }).show();
    </script>

Il ne trouve pas Noty car j'ai cette erreur js: "Uncaught ReferenceError: Noty is not defined"

Que faut-il faire de plus?

5 réponses


JacobDelcroix
Réponse acceptée

Tu écris ton JS dans ton fichier Twig ? Si oui alors c'est normal car Noty n'est disponible que dans ton app.js... Donc soit tu écris ton code dans tes fichiers JS soit dans ton app.js tu fais un

import Noty from 'noty'
window.Noty = Noty

Ou un truc du genre

il faut lancer webpack plur creer le bundle et injecter ce bundle dans le html c´est deja fait?

chaptor
Auteur

Je lance un serveur dev avec la commande

./node_modules/.bin/encore dev-server

ca compile a chaque modif et dans le html, j'ai:

<script type="text/javascript" src="{{ asset('build/js/app.js') }}"></script>

qui fait référence au fichier généré.

C'est de ces manip dont tu parles ou c'est autre chose?

chaptor
Auteur

Personne pour m'orienter, m'aider?

chaptor
Auteur

Ca fonctionne.
Merci beaucoup