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

TypeScript Discussion :

Utiliser un fichier js avec ts sur angular


Sujet :

TypeScript

  1. #1
    Membre habitué
    Utiliser un fichier js avec ts sur angular
    Ils m'ont fait rêver
    Ils ont dit qu'on pouvait utiliser javascript avec typescript sans aucun problême et que c'était formidable
    Ils ont dit que javascript faisait partie de typescript .

    Et je l'ai cru.

    Mais...

    Mais, quand j'essaye d'utiliser un simple fichier javascript avec angular, un simple fichier qui dit :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function bonjour() {
      alert('bonjour');
    }


    Rien de bien méchant, hein...
    Eh bien cela ne fonctionne pas.

    BREF, j'avoue que je commence à me demander si angular est si exeptionnel que ça.

    J'ai mis le fichier js dans le dossier src de mon projet.
    J'ai ajouté la ligne

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    "scripts": [
                  "node_modules/jquery/dist/jquery.min.js",
                  "src/assets/fichierJS.js"
                ]


    Dans le angular.json...d'ailleurs, tenez vous bien : il compile ! Oui, je vous assure, il compile...pourtant Dieu sait a quel point Angular est capricieux en ce qui concerne la compilation. Et vas-y que je veux les points sur les i, la définitition de chaque objet, chaque bout de code absolut alors que ça marche très bien sans...
    BREF...

    J'ai aussi mis :

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    declare const bonjour : any ;


    Dans mon comonent ts...

    Quand j'essaye de dire bonjour avec mon fichier Javascript, heureux, profondément, jubilant même à l'idée que Typescript puisse lire ce fichier comme son Frère...
    Eh ben mon copain le navigateur me dit :

    ERROR ReferenceError: bonjour is not defined
    at JeuComponent.ngOnInit
    Voilà j'oscille entre désillusion, déception d'angular, ou tout simplement que je suis passé à côté de quelque chose ou que j'ai loupé un épisode.

    Bref si vous pouvez m'éclairer ce serait sympas

  2. #2
    Modérateur

    Dans ton fichier qui contient la fonction bonjour je ne vois pas d'export de la fonction. C'est plus que probablement du à ça.

    De mémoire il y a également un paramétrage à faire au niveau du tsconfig pour lui dire de prendre en compte les fichier js (cf allowJs).
    Un problème avec Git ? Essayez la FAQ, sinon posez votre question sur le forum.



    "Toute personne croyant qu'une croissance exponentielle peut durer indéfiniment dans un monde fini est soit un fou, soit un économiste."
    Kenneth E. Boulding

    "Les richesses naturelles sont inépuisables, car, sans cela, nous ne les obtiendrions pas gratuitement. Ne pouvant être ni multipliées ni épuisées, elles ne sont pas l’objet des sciences économiques."
    Jean-Baptiste Say, Traité d'économie politique, 1803.

    "/home/earth is 102% full ... please delete anyone you can."
    Inconnu