Comme l'intitulé du sujet l'indique j'ai un problème au niveau de l'appel de ma classe dans un fichier différent contenant un main dans ce cas-ci.
voila mon code pour la classe contenu dans un fichier Vaisseau.js:
// Classe représentant le vaisseau
class Vaisseau{
// Constructeur
constructor(img){
if((window.innerWidth/2)-460<0){
this.posX=40;
}
else{
this.posX = ((window.innerWidth)/2)-460;
}
this.posY = 200;
// A compléter
}
get posY(){
return this._posY;
}
set posY(value){
this._posY = value;
}
get posX(){
return this._posX;
}
set posX(value){
this._posX = value;
}
// Initialise le vaisseau dans le html
initHtml(){
var vaisseau = document.getElementById('vaisseau');
vaisseau.src = this.img;
vaisseau.style.position = "absolute";
vaisseau.style.top = this.posY+"px";
vaisseau.style.left = this.posX+"px";
}
toLocaleString(){
return 'voici mon vaisseau'; //méthode pour tester si l'appel de ma classe s'est bien dérouler
}
}
et dans mon fichier main.js:
import "/Vaisseau.js";
let instance = require("Vaisseau");
console.log(instance.toLocaleString());
cela cause une erreur.. Merci d'avance pour les conseils.
ps: Ce serait nickel un exemple concret.. se basant sur le code.
Tu utilises un module bundler ou autre chose avec ça ?
Quoiqu'il en soit ton code a peu de chance de marcher, tu n'exportes pas la classe vaisseau, et le mix import et require dans le main est pour le moins étrange.
Fichier Vaisseau.js :
// Classe représentant le vaisseau
export default class Vaisseau{
...
}
Fichier main.js (au même niveau que Vaisseau.js on va dire) :
import Vaisseau from "./Vaisseau.js";
let instance = new Vaisseau(); // enfin il faudrait passer une variable img d'après ta classe mais je fais simple.
console.log(instance.toLocaleString());
ok merci pour les conseils mais j'ai réglé le soucis. Je devais juste inclure mes deux fichier javascript (Vaisseau.js et main.js dans le bonne ordre) dans mon fichier html et instancier mon objet comme d'habitude et voila.. Pas besoin d'import.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.