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

AngularJS Discussion :

Replace string dans un fichier


Sujet :

AngularJS

  1. #1
    Invité
    Invité(e)
    Par défaut Replace string dans un fichier
    Bonjour,

    voilà j'ai une fois de plus un petit soucis concernant un remplacement de string dans un fichier. Je m'explique j'ai créé une partie de code qui me permet d'ouvrir un fichier en l'occurence un fichier html ou css et de remplacer le code par les données que j'ai saisie. Tout fonctionne a une exception prêt je peux le faire dans un fichier uniquement.

    Voici mon code :
    Code : 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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
            var infile = urlHtml;
                        var outfile = urlHtml;
     
                fs.open(infile, 'r', function (err, fd) {
                    changeFile(fd);
                });
     
                var out = ' ';
     
                function changeFile(fd) {
     
                    var buf = new Buffer(1024);
                    buf.fill(0);
     
                    try {
     
                        fs.read(fd, buf, 0, 1024, null, function (err, bytesRead, buffer) {
                            if (bytesRead === 0) {
                                writeFile(out);
                                return;
                            }
                            var str = buffer.toString('utf8', 0, bytesRead);
     
                            for (var i in req.body.tpl.title) {
                                str = str.replace('${' + req.body.tpl.title[i].id + '}', req.body.tpl.title[i].value);
                            }
                            for (var i in req.body.tpl.content) {
                                str = str.replace('${' + req.body.tpl.content[i].id + '}', req.body.tpl.content[i].value);
                            }
                            for (var i in req.body.tpl.image) {
                                str = str.replace('${' + req.body.tpl.image[i].id + '}', '../../../' + req.body.tpl.image[i].path);
                            }
     
                            out += str;
                            changeFile(fd);
                        });
     
                    } catch (err) {
                        console.error(err);
                    }
     
                }
     
                function writeFile(str) {
                    fs.writeFile(outfile, str, function (err, written, buffer) {
                        fs.rename(outfile, infile);
                    });
                }
    Mon fichier JSON :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    {
        "title": [{
            "id": "titre"
            , "name": "titre"
     
      }]
        , "image": [{
            "id": "url"
            , "name": "image"
            , "file": "css"
      }],
    }
    J'aimerai pouvoir analyser ce fichier et lorsqu'il tombe sur l'image il ouvre le css puis une fois sur le titre il ouvre mon html

    J'ai essayé ceci mais ça n'a pas l'air de fonctionner :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        for( var i in req.body.tpl.length){
     
                        if(req.ody.tpl.image[i].file =='css')
                        {
                        var infile = urlCss;
                        var outfile = urlHtml;
                        } 
                         var infile = urlHtml;
                        var outfile = urlHtml;
    merci pour vos réponses

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2008
    Messages
    764
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Février 2008
    Messages : 764
    Par défaut
    Bonjour,

    Je ne comprends pas bien votre problème.
    En effet, dans le titre, vous dites "remplacement de string dans un fichier" et j'en conclu que vous avez un problème pour remplacer une string dans un fichier .... et donc j'en déduis que vous voulez remplacer une string dans un fichier.
    Mais dans le corps du message, vous écrivez ceci :
    Tout fonctionne a une exception prêt je peux le faire dans un fichier uniquement.
    Et là je comprends que vous ne voulez pas remplacer une string dans un fichier puisque cela fonctionne mais vous voulez autre chose.

    Désolé ! j'ai peut-être mal compris mais plus d'explications pourraient nous aider à vous aider

  3. #3
    Invité
    Invité(e)
    Par défaut
    Oui je comprends. Je vais essayer d'etre plus clair

    J'ai des dossier contenant chacun un html un css et un json avec un titre, un contenu et une image côté front end j'affiche un formulaire de manière dynamique selon le json Donc dans mon json si j'ai un id dans mon tableau titre il m'affichera automatiquement un titre, et si j'ai deux id alors j'aurai deux champs titre. Jusque là tout va bien. Ensuite dans mes fichiers Css et Html j'ai des code d'injection de ce type ${titre} entre mes balises.

    A partir de là la fonction permet de récuperer le json dont il contient les valeurs des champs et de les injecter a la place de ses balises d'où le replace string. Sauf que mes images sont dans le css.
    Donc voici ma question : Comment je peux faire pour parcourir le json et dès que j'ai le file:css il va ouvrir le css et injecter et ensuite ouvrir le html ? car là j'arrive bien a remplacer mais uniquement dans un des deux fichiers. J'avais pensé a ouvrir les deux fichiers et parcourir quoi qu'il arrive mais est ce possible ?

    voilà

    D'où ceci mais qui ne fonctionne pas :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     for( var i in req.body.tpl.length){
     
                        if(req.ody.tpl.image[i].file =='css')
                        {
                        var infile = urlCss;
                        var outfile = urlHtml;
                        } 
                         var infile = urlHtml;
                        var outfile = urlHtml;

  4. #4
    Expert confirmé
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Par défaut
    Je ne comprends rien

    c'est quoi cette architecture qui consiste à modifier le code source ?

    Amngular et fait pour implémenter le pattern MVC
    dans cette approche JAMAIS on ne modifie de code source à la volée.
    les données devrait être dans des datastores pas dans le code source.

    A+JYT

  5. #5
    Invité
    Invité(e)
    Par défaut
    C'est une architecture qui me permet d'injecter les saisies de formulaire dans un fichier html donc si c'est faisable car j'ouvre juste un fichier html et je remplace l'id par défaut et la page html n'est pas raccordée a angular c'est en dehors cést des fichiers importés si tu preferes

    Je dirai plus que angular est plus de type mvvm que mvc

  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
    Ce que tu veux faire se fait très bien avec angular. Commence donc par faire les tutoriaux, ton approche n'est pas bonne. Tu essaies de modifier le DOM avec du code impératif en javascript alors que tu as tout ce qu'il te faut dans les directives natives de angular (ng-if, ng-src, ng-class) pour faire ça en déclaratif.

Discussions similaires

  1. Récupérer une string dans un fichier
    Par lynchmaniac dans le forum ANT
    Réponses: 3
    Dernier message: 27/12/2006, 16h22
  2. Réponses: 7
    Dernier message: 01/09/2006, 14h19
  3. Ecriture d'un string dans un fichier
    Par spoown dans le forum C
    Réponses: 16
    Dernier message: 13/07/2006, 09h29
  4. remplacer les String dans un fichier
    Par makohsarah dans le forum Langage
    Réponses: 3
    Dernier message: 29/05/2006, 13h34
  5. Comment enregistrer une string dans un fichier
    Par Dnx dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/09/2005, 14h52

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