IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Impossible d'utiliser FileSaver.js


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 327
    Par défaut Impossible d'utiliser FileSaver.js
    Bonjour tout le monde,

    depuis quelques heures, j'essaye désespérément d'utiliser FileSaver.js, mais à chaque fois, j'ai une erreur :
    FileSaver.js:184 Uncaught ReferenceError: module is not defined
    at FileSaver.js:184
    at FileSaver.js:10
    at FileSaver.js:13
    Dans mon HTML, j'ai bien ajouté la ligne : <script src="scripts/FileSaver.js-master/dist/FileSaver.js"></script> et la fonction d'appel est la suivante :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    function download(filename, text) {
    //    var pom = document.createElement('a');
    //    pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
    //    pom.setAttribute('download', filename);
    //
    //    if (document.createEvent) {
    //        var event = document.createEvent('MouseEvents');
    //        event.initEvent('click', true, true);
    //        pom.dispatchEvent(event);
    //    }
    //    else {
    //        pom.click();
    //    }
     
    var FileSaver = require('file-saver');
    var blob = new Blob([text], {type: "text/plain;charset=utf-8"});
    FileSaver.saveAs(blob, filename);	
     
    }

    La première partie (en commentaire) de la fonction fonctionne très bien, mais FileSaver.JS me semblait plus complet, avec plus de contrôles.
    J'ai surement dû mal suivre les instructions sur https://github.com/eligrey/FileSaver.js/, mais je ne vois pas ce que je loupe.

    Merci d'avance pour le dépannage

  2. #2
    Membre extrêmement actif Avatar de psychadelic
    Profil pro
    Inscrit en
    Mai 2010
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2010
    Messages : 2 532
    Par défaut
    J'utilise de temps en temps ce module.

    pour m'en servir je fais une copie du JS que je place dans mon répertoire local.

  3. #3
    Membre éprouvé Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 327
    Par défaut
    Dans le doute, j'ai essayé de le mettre dans le répertoire local, mais toujours la même erreur : "module is not defined" en ligne 184 qui correspond à module.exports = _global.saveAs = saveAs.saveAs = saveAs;
    On dirait presque un bug sur la version que je viens de récupérer.

    Tu mets quoi exactement comme code d'appel et de déclaration ?

  4. #4
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Probable que ton bundler n'arrive pas à résoudre le require qui se trouve en plein milieu du source. Il devrait être en entête du fichier source.

    Ou pire tu n'as pas de bundler (mais dans ce cas ça devrait planter sur le require et pas sur le module).

    Tu ne peux pas utiliser la balise <script src="scripts/FileSaver.js-master/dist/FileSaver.js"></script> pour importer des modules exposés avec CommonJS les navigateurs ne comprennent pas la syntaxe.

    Il faudrait voir ton package.json pour t'en dire plus. Il faut comprendre comment ton appli est ficelée.

  5. #5
    Membre éprouvé Avatar de Zebulon777
    Homme Profil pro
    Informaticien
    Inscrit en
    Février 2005
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Informaticien

    Informations forums :
    Inscription : Février 2005
    Messages : 1 327
    Par défaut
    Oula, alors là, tu m'as complètement perdu

    Qu'est-ce que je dois mettre dans le HTML et dans le JS ?

  6. #6
    Expert confirmé
    Avatar de Marco46
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    4 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2005
    Messages : 4 419
    Par défaut
    Montre nous ton package.json.

    Tu fais comment pour lancer ton appli ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible d'utiliser KDE
    Par Thrystan dans le forum KDE
    Réponses: 1
    Dernier message: 05/01/2006, 16h01
  2. DAO impossible d'utiliser une fonction dans un requete
    Par exter666 dans le forum VBA Access
    Réponses: 10
    Dernier message: 24/09/2005, 17h15
  3. Impossible d'utiliser DISTINCT avec des types image et ntext
    Par azlinch dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 17/08/2005, 17h43
  4. impossible d'utiliser un HWND parent dans un thread
    Par sylvain114d dans le forum Windows
    Réponses: 12
    Dernier message: 23/09/2004, 12h21
  5. impossible d'utiliser ma fonction dans un insert
    Par caramel dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/04/2003, 15h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo