J'étais totalement perdue lorsque j'ai posé la question ci-dessus. J'ai passé quelques jours et je n'ai toujours pas une image complète. Ce dont je suis à peu près sûr, c'est que 2016 est une année difficile pour apprendre le JavaScript .
Je voulais utiliser Vue.js parce que c'est plus simple que les autres solutions. Moins de cérémonies, moins de modèles, moins de code. C'est la marque de fabrique de Cadre progressif ... C'est vrai ! Mais seulement jusqu'à un certain point. Vue.js ne résout pas le problème de fragmentation de l'écosystème JavaScript avec les systèmes de construction.
Donc, vous devrez choisir un côté : Avez-vous besoin de modules JavaScript et d'un système de construction ?
Option 1 : rester simple : Évitez les modules JS et les systèmes de construction.
Les raisons de suivre cette voie :
- Vous n'avez pas beaucoup de jours pour apprendre A LOT de choses. (Configuration de bundler, enfer des dépendances de npm+package, trucs ES6).
- Vous ne voulez pas faire une application d'une seule page à bords perdus. Intégrer Vue.js dans quelques pages HTML semble suffisant.
- HTTP/2 est en train de se généraliser, de sorte que les bundlers comme Webpack ou Browserify offriront moins d'avantages, du moins en matière de performances.
-
Finalement, Les modules ES6 seront pris en charge directement dans le navigateur, de sorte que nous n'aurons pas besoin de construire ce que l'on appelle les modules ES6. dernier site JavaScript est dans compatible avec les navigateurs JavaScript.
Vous gagnerez de nombreux jours en ne passant pas votre temps à apprendre des choses qui seront probablement obsolètes dans quelques années.
Si vous suivez cette voie, quelques recommandations :
- Il suffit d'ajouter les bibliothèques JS en utilisant le
<script>
étiquette.
- N'utilisez que des bibliothèques JavaScript compatibles avec les navigateurs. Le code qui utilise
require()
ou le préfixe UMD (function (root, factory) {
nécessite la mise en place de modules (il n'est donc pas compatible avec les navigateurs à moins de mettre en place CommonJS). Les fichiers JS avec import
/ export
sont écrites en ES6, évitez-les également.
- Utilisez Bower pour télécharger les librairies prêtes pour le navigateur. Évitez NPM (qui implique la mise en place d'un système de modules).
Mise en garde : Vous ne pourrez pas utiliser les fonctionnalités avancées de Vue.js telles que composants à fichier unique ou Vue Router, mais cela ne pose aucun problème. Vous devrez effectuer quelques opérations manuellement.
Option 2 : Apprendre les modules JavaScript + les systèmes de construction.
Préparez quelques jours pour apprendre et non pour coder. Je vais seulement expliquer brièvement comment Webpack a fonctionné pour moi. Browserify fonctionne aussi, mais je ne l'ai pas essayé.
Je vous recommande de passer un peu de temps à apprendre ce que Les modules JavaScript sont . Ensuite, apprenez à les construire et à les emballer : J'ai utilisé Webpack. Sa documentation n'est pas géniale, donc ce qui a fonctionné pour moi, c'est de suivre ses instructions. tutoriel étape par étape.
À ce stade, vous avez peut-être entendu dire que Webpack ALSO dispose d'un serveur web intégré avec "rechargement à chaud des modules". Il s'agit d'un serveur web pour les fichiers statiques à utiliser uniquement pour le développement. Son avantage est que chaque fois que vous modifiez un module JS, le navigateur appliquera automatiquement la modification sans rafraîchissement. Il s'agit d'une fonctionnalité très intéressante, mais facultative. Le problème : ce serveur web intégré est en concurrence avec notre serveur web (Kestrel). Donc, si vous voulez essayer cette fonctionnalité pendant le développement, utilisez la fonction Webpack ASP.NET Core intergiciel fourni par Microsoft Repo JavaScriptServices . Vous y trouverez le Modèle de WebApplicationBasic que j'utilise actuellement. Je l'ai disséqué, j'ai retiré la plupart de ses pièces et en essayant de l'utiliser, j'ai lentement compris à quoi servait chaque pièce à l'origine.
Lorsque vous utilisez Webpack, vous utiliserez principalement 3 flux de travail :
- Mode de développement intégré : Crée des fichiers volumineux, faciles à déboguer. Utilisez-le avec "watch-mode" pour que chaque fois que vous modifiez un fichier, une nouvelle construction de Webpack soit déclenchée.
- Mode de production intégré : Crée de petits fichiers minifiés. Utile pour 'dotnet publish'.
- L'utilisation du serveur web de Webpack et du rechargement à chaud des modules avec le middleware ASP.NET Core de Webpack signifie que votre application exécutera Webpack en arrière-plan, construira et surveillera les fichiers sources pour détecter les modifications. Le résultat de la compilation n'est pas écrit sur le disque ; il est uniquement conservé en mémoire et servi via HTTP. Le middleware JavaScriptServices transmet les requêtes de Kestrel au serveur web de Webpack pour que cela fonctionne.
Quelle que soit la configuration Webpack que vous choisissez, vous devez inclure "vue-loader" dans votre configuration Webpack. Vous pouvez vous inspirer de Le modèle webpack-simple de Vue .
Je n'ai pas couvert tout ce que je voulais, mais ce sujet est trop vaste et je dois retourner au codage. Veuillez laisser vos commentaires.
1 votes
Il s'avère que
vue-moment
échouer dans des environnements non compliqués est en fait un bug. - stackoverflow.com/q/39601389/974710 votes
J'ai essayé Pack de modèles ASP.NET Core . Mais je ne comprends pas. Est-ce que c'est juste un
vue-webpack-boilerplate
hébergé sur kestrel ?4 votes
Un modèle Aspnetcore & Vue (ES6) ici pour ceux qui le cherchent : github.com/MarkPieszak/aspnetcore-Vue-starter
0 votes
Je sais que ce sujet est assez ancien mais j'ai trouvé en cherchant comment faire. En 2018, une solution moderne consiste à exécuter la commande suivante : npx vue-cli-service build --mode development --dest ../2-BackEnd/wwwroot/ --watch npx permet ici de démarrer le vue-cli-service qui va construire l'app vue js, en mode développement, et en spécifiant la destination et avec le watch vous obtenez tout ce que vous voulez sauf le serve. Il ne vous reste plus qu'à lancer votre application .NET, qui affichera simplement ce qui se trouve dans wwwroot.