You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
CREATION D'UNE STRUCTURE DE DOSSIER ET FICHIERS AVEC MODULE FS DE NODE
Detail du fichier .mjs sur préparation projet REACT du repo => ICI
// Importation du module fs (système de fichiers) de Node.jsimportfsfrom'node:fs';// Utilisation de la méthode forEach pour parcourir les arguments en ligne de commande à partir du troisième argumentprocess.argv.slice(2).forEach((projetName)=>{// Définition du chemin racineconstroot="./";// Définition du chemin du dossier srcconstsrc="./src";// Création du dossier src s'il n'existe pas déjàfs.mkdirSync(src);// Contenu du fichier HTMLconsthtmlContent=`<!DOCTYPE html><html lang="fr"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="./index.js" defer type="module"></script><title>${projetName}</title></head><body> <div id="app"></div></body></html>`// Écriture du contenu HTML dans le fichier index.html du dossier srcfs.writeFileSync(src+'/index.html',htmlContent);constjsContent=`import { createRoot } from "react-dom/client";import App from "./components/App";const domElement = document.getElementById('app');const root = createRoot(domElement);root.render(<App />);`// Écriture du contenu JavaScript dans le fichier index.js du dossier srcfs.writeFileSync(src+'/index.js',jsContent);// Contenu du fichier .gitignoreconstgitignoreContent=` node_modules.parcel-cachedist`// Écriture du contenu dans le fichier .gitignore à la racine du projetfs.writeFileSync(root+'/.gitignore',gitignoreContent);// Définition du chemin du dossier componentsconstcomponent="./src/components"// Création du dossier componentsfs.mkdirSync(component);// Définition du chemin du dossier App dans componentsconstapp="./src/components/App"// Création du dossier App dans componentsfs.mkdirSync(app);// Contenu du fichier index.js de AppconstappContent=` import Header from "../Header";import Main from "../Main";import Footer from "../Footer";import './style.scss'function App(){ return( <> <Header /> <Main /> <Footer /> </> ); }export default App;`// Écriture du contenu JavaScript dans le fichier index.js du dossier Appfs.writeFileSync(app+'/index.js',appContent);constscssContent=`body{ margin: 0; padding: 0; border: 0;}`// Écriture du contenu SCSS dans le fichier style.scss du dossier Appfs.writeFileSync(app+'/style.scss',scssContent);// Définition du chemin du dossier Header dans componentsconstheader="./src/components/Header"// Création du dossier Header dans componentsfs.mkdirSync(header);// Contenu du fichier index.js de HeaderconstheaderContent=` import './style.scss';function Header() { return ( <div className="header"> <h1>Ceci est le Header de ton projet : ${projetName}🥳</h1> </div> );}export default Header;`;// Écriture du contenu JavaScript dans le fichier index.js du dossier Headerfs.writeFileSync(header+'/index.js',headerContent);constheaderScss=`.header{}`// Écriture du contenu SCSS dans le fichier style.scss du dossier Headerfs.writeFileSync(header+'/style.scss',headerScss);// Définition du chemin du dossier Main dans componentsconstmain="./src/components/Main"// Création du dossier Main dans componentsfs.mkdirSync(main);// Contenu du fichier index.js de MainconstmainContent=` import './style.scss';function Main() { return ( <div className="main"> <h2>Le main du projet 💪</h2> </div> ); } export default Main; `;// Écriture du contenu JavaScript dans le fichier index.js du dossier Mainfs.writeFileSync(main+'/index.js',mainContent);constmainScss=`.main{}`// Écriture du contenu SCSS dans le fichier style.scss du dossier Mainfs.writeFileSync(main+'/style.scss',mainScss);// Définition du chemin du dossier Footer dans componentsconstfooter="./src/components/Footer"// Création du dossier Footer dans componentsfs.mkdirSync(footer);// Contenu du fichier index.js de FooterconstfooterContent=` import './style.scss';function Footer() { return ( <div className="footer"> <h3>et le footer ✌️.. maintenant tu peux supprimer ce contenu et travailler dur en t'amusant 😇!!!</h3> </div> );}export default Footer;`;// Écriture du contenu JavaScript dans le fichier index.js du dossier Footerfs.writeFileSync(footer+'/index.js',footerContent);constfooterScss=`.footer{}`// Écriture du contenu SCSS dans le fichier style.scss du dossier Footerfs.writeFileSync(footer+'/style.scss',footerScss);});