Entrainement
Module
Découvrez comment créer une application d’empilement complète à l’aide de React et d’une API minimale pour ASP.NET Core.
Ce navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Dans cet article, vous allez apprendre à créer un projet ASP.NET Core pour agir en tant que back-end d’API et un projet Vue pour agir en tant qu’interface utilisateur.
Visual Studio inclut ASP.NET modèles SPA (Core Single Page Application) qui prennent en charge Angular, React et Vue. Les modèles fournissent un dossier d’application cliente intégré dans vos projets ASP.NET Core qui contient les fichiers de base et les dossiers de chaque framework.
Vous pouvez utiliser la méthode décrite dans cet article pour créer des applications monopages ASP.NET qui :
Notes
Cet article décrit le processus de création de projet à l’aide du modèle mis à jour dans Visual Studio 2022 version 17.11, qui utilise l’interface CLI Vite. Vite détermine la version de Vue à l’aide de dépendances de projet, telles que celles configurées dans package.json.
Veillez à installer les éléments suivants :
https://www.npmjs.com/
), qui est inclus avec Node.js.Dans la fenêtre Démarrer (choisissez Fichier>Fenêtre de démarrage à ouvrir), sélectionnez Créer un projet.
Capture d’écran
Recherchez Vue dans la barre de recherche en haut, puis sélectionnez Vue et ASP.NET Core avec JavaScript ou TypeScript comme langage sélectionné.
Nommez le projet VueWithASP, puis sélectionnez suivant.
Dans la boîte de dialogue Informations supplémentaires, vérifiez que Configurer pour HTTPS est activé. Dans la plupart des scénarios, laissez les autres paramètres aux valeurs par défaut.
Sélectionnez Créer.
L’Explorateur de solutions affiche les informations de projet suivantes :
capture d’écran
Par rapport au modèle Vue autonome , vous voyez quelques fichiers nouveaux et modifiés pour l’intégration à ASP.NET Core :
Dans l’Explorateur de solutions, faites un clic droit sur VueWithASP.Server, puis choisissez Propriétés.
capture d’écran
Dans la page Propriétés, ouvrez l’onglet Déboguer et sélectionnez l’option Ouvrir l’interface utilisateur des profils de lancement de débogage. Décochez l’option Lancer le navigateur pour le profil https ou le profil portant le nom du projet ASP.NET Core, si présent.
Cette valeur empêche l’ouverture de la page web avec les données météorologiques sources.
Notes
Dans Visual Studio, launch.json
stocke les paramètres de démarrage associés au bouton Démarrer dans la barre d’outils Débogage. Actuellement, launch.json
doit se trouver sous le dossier .vscode
.
Cliquez avec le bouton droit sur la solution dans l’Explorateur de solutions, puis sélectionnez Propriétés. Vérifiez que les paramètres du projet de démarrage sont définis sur Projets multipleset que l’action relative aux deux projets est définie sur Démarrer.
Appuyez F5 ou sélectionnez le bouton Démarrer en haut de la fenêtre pour démarrer l’application. Deux invites de commandes s’affichent :
VITE v4.4.9 ready in 780 ms
Notes
Vérifiez la présence de messages dans la sortie de la console. Par exemple, il peut y avoir un message pour mettre à jour Node.js.
L’application Vue s’affiche et est remplie via l’API (le port localhost peut varier de la capture d’écran).
capture d’écran
Si vous ne voyez pas l’application, consultez Résolution des problèmes.
À compter de Visual Studio 2022 version 17.3, vous pouvez publier la solution intégrée à l’aide de l’outil De publication Visual Studio.
Notes
Pour utiliser la publication, créez votre projet JavaScript à l’aide de Visual Studio 2022 version 17.3 ou ultérieure.
Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le projet VueWithASP.Server, puis sélectionnez Ajouter>référence de projet.
Vérifiez que le projet vuewithasp.client est sélectionné.
Choisissez OK.
Cliquez avec le bouton droit sur le projet ASP.NET Core, puis sélectionnez Modifier le fichier projet.
Cela ouvre le fichier .csproj
pour le projet.
Dans le fichier .csproj
, vérifiez que la référence du projet inclut un élément <ReferenceOutputAssembly>
avec la valeur définie sur false
.
Cette référence doit ressembler à ce qui suit.
<ProjectReference Include="..\vuewithasp.client\vuewithasp.client.esproj">
<ReferenceOutputAssembly>false</ReferenceOutputAssembly>
</ProjectReference>
Cliquez avec le bouton droit sur le projet ASP.NET Core et choisissez recharger le projet si cette option est disponible.
Dans Program.cs, vérifiez que le code suivant est présent.
app.UseDefaultFiles();
app.UseStaticFiles();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
Pour publier, cliquez avec le bouton droit sur le projet ASP.NET Core, choisissez Publier, puis sélectionnez des options pour correspondre à votre scénario de publication souhaité, comme Azure, publier dans un dossier, etc.
Le processus de publication prend plus de temps que pour un projet ASP.NET Core, car la commande npm run build
est appelée lors de la publication. BuildCommands’exécute npm run build
par défaut.
Si vous publiez dans un dossier, consultez la structure de répertoires ASP.NET Core pour plus d’informations sur les fichiers ajoutés au dossier publier.
L’erreur suivante peut s’afficher :
[HPM] Error occurred while trying to proxy request /weatherforecast from localhost:4200 to https://localhost:5173 (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)
Si vous voyez ce problème, le front-end a probablement démarré avant le back-end.
Sinon, si le port est en cours d’utilisation, essayez d’incrémenter le numéro de port par 1 dans launchSettings.json
et vite.config.js.
Vous pouvez voir l’erreur de certificat suivante :
Your connection isn't private
Essayez de supprimer les certificats Vue de %appdata%\local\asp.net\https ou %appdata%\roaming\asp.net\https, puis réessayez.
Si les données météorologiques ne se chargent pas correctement, vous devrez peut-être également vérifier que vos ports sont corrects.
Assurez-vous que les numéros de port correspondent. Accédez au fichier launchSettings.json
dans votre projet ASP.NET Core (dans le dossier Propriétés ). Obtenez le numéro de port à partir de la propriété applicationUrl
.
S’il existe plusieurs propriétés applicationUrl
, recherchez-en un à l’aide d’un point de terminaison https
. Il doit ressembler à https://localhost:7142
.
Ensuite, accédez au fichier vite.config.js
de votre projet Vue. Mettez à jour la propriété target
pour qu’elle corresponde à la propriété applicationUrl
dans launchSettings.json. Lorsque vous la mettez à jour, cette valeur doit ressembler à ceci :
target: 'https://localhost:7142/',
Si vous voyez le message de console Impossible de trouver le fichier 'C:\Users\Me\source\repos\vueprojectname\package.json' lorsque vous créez le projet, vous devrez peut-être mettre à jour votre version de l’interface CLI Vite. Après avoir mis à jour l’interface CLI Vite, vous devrez peut-être également supprimer le fichier .vuerc
dans C :\Users\[yourprofilename].
Si vous activez la prise en charge de Docker pendant la création du projet, procédez comme suit :
Une fois l’application chargée, obtenez le port Docker HTTPS à l’aide de la fenêtre conteneurs dans Visual Studio. Vérifiez l’onglet Environnement ou Ports.
capture d’écran
Ouvrez le fichier vite.config.js
du projet Vue. Mettez à jour la variable target
pour qu’elle corresponde au port HTTPS dans la fenêtre Conteneurs. Par exemple, dans le code suivant :
const target = env.ASPNETCORE_HTTPS_PORT ? `https://localhost:${env.ASPNETCORE_HTTPS_PORT}` :
env.ASPNETCORE_URLS ? env.ASPNETCORE_URLS.split(';')[0] : 'https://localhost:7163';
remplacez https://localhost:7163
par le port HTTPS correspondant (dans cet exemple, https://localhost:60833
).
Redémarrez l’application.
Si vous utilisez une configuration Docker créée dans les versions antérieures de Visual Studio, le serveur principal peut commencer à utiliser le profil Docker et ne pas écouter sur le port configuré 5173. Pour résoudre les problèmes suivants :
Modifiez le profil Docker dans le launchSettings.json
en ajoutant les propriétés suivantes :
"httpPort": 5175,
"sslPort": 5173
Pour plus d’informations sur les applications SPA dans ASP.NET Core, consultez Développement d’applications monopage. L’article lié fournit un contexte supplémentaire pour les fichiers projet tels que aspnetcore-https.js, bien que les détails de l’implémentation diffèrent en raison des différences entre les modèles de projet et l’infrastructure Vue.js et d’autres frameworks. Par exemple, au lieu d’un dossier ClientApp, les fichiers Vue sont contenus dans un projet distinct.
Pour obtenir des informations MSBuild spécifiques au projet client, consultez propriétés MSBuild pour JSPS.
Entrainement
Module
Découvrez comment créer une application d’empilement complète à l’aide de React et d’une API minimale pour ASP.NET Core.