Aller au contenu principal

Configuration Vite et système multi-tenant

Comment gérer un système multi-tenant de 27 modèles de marque avec Vite, en implémentant la compilation dynamique et l'isolation des environnements.


1. Chargement dynamique des routes de modèle correspondantes via SiteKey

function writeBuildRouter() {
const sourceFile = path.resolve(
__dirname,
`../../template/${siteKey}/router/routes.ts`
);
const destinationFile = path.resolve(__dirname, '../../src/router/build.ts');

fs.readFile(sourceFile, 'utf8', (err, data) => {
if (err) {
console.error(`Error reading file: ${err}`);
return;
}

fs.writeFile(destinationFile, data, 'utf8', (err) => {
if (err) {
console.error(`Error writing file: ${err}`);
return;
}
console.log(
`File copied successfully from ${sourceFile} to ${destinationFile}`
);
buildFile(siteKey);
});
});
}
  • Lors du build, les routes de modèle correspondantes sont chargées dynamiquement via SiteKey
  • La variable d'environnement SITE_KEY est utilisée pour sélectionner le modèle à compiler
  • Un seul dépôt gère plusieurs modèles, évitant la duplication de code

2. Système d'injection de variables d'environnement personnalisées

3. Intégration de TailwindCSS et conception de breakpoints RWD

4. Configuration du Proxy de l'environnement de développement

5. Intégration du plugin Vite Vue i18n

6. Configuration de compatibilité

      target: {
browser: ["es2019", "edge88", "firefox78", "chrome87", "safari13.1"],
node: "node16"
},
  • Contrôle précis de la compatibilité navigateur
  • Équilibre entre fonctionnalités modernes et compatibilité