Je souhaite héberger mon application en dehors du nœud JS, mais je souhaite utiliser des fichiers .vue et un npm possible en tant que système de génération (si nécessaire). Est-ce possible de faire?
Je n'ai besoin d'aucune compatibilité ascendante et si cela fonctionne avec le dernier dev de Chrome, tout va bien pour moi.
Y at-il des exemples comment cela peut être fait?
J'ai essayé de construire un template de webpack, mais cela ne fonctionne que dans NodeJS. Sur un autre serveur, je reçois le message 404 lorsque j'accède à des URL placées dans des fichiers .vue
. Il semble qu'ils ne puissent pas être gérés par l'autre serveur.
NodeJs n'utilisent que pour construire le fichier * .js en front-end, votre application Web ne doit pas nécessairement s'exécuter sur Nodejs.
1, vous pouvez créer un fichier index.html nécessitant le fichier * .js lorsque Webpack l'a créé.
2, utilisez Chrome pour ouvrir votre fichier index.html afin que vous puissiez le voir fonctionner.
Vous n'avez pas besoin d'utiliser Vue-cli ou un autre serveur si vous voulez seulement une page statique.
Mais vous devez savoir comment configurer votre webpack.config.js, vous pouvez regarder cela doc https://webpack.js.org/guides/getting-started/
Votre point de départ est faux. Vue + node.js peut construire un site complet. Vue est la structure frontale, la langue du serveur du noeud. Les deux peuvent être utilisés en combinaison. Mais pas de vue doit compter sur le noeud à utiliser. Les deux peuvent être parfaits pour séparer à l’avant et à l’arrière le modèle de développement.
Dans les projets qui utilisent vue, les utilisateurs ne recommandent pas de configurer séparément webpack et vue-loader. Vous pouvez directement utiliser l'échafaudage officiel de vue, vue-cli. Ne pas avoir à considérer ces configurations, configurées automatiquement.
Si vous venez de commencer à apprendre Vue, voici une démo d’entrée de gamme. Bien qu'il ne s'agisse que d'une petite application, elle couvre toutefois de nombreux points de connaissance (vue2.0 + vue-cli + vue-router + vuex + axios + mysql + express + pm2 + webpack), y compris frontal , base de données et autres sites Certains des éléments nécessaires, pour moi, apprenant une grande signification, voudraient s’encourager mutuellement!
Il est vrai que vue créera des pages html statiques lorsque vous exécuterez le script de construction. Cependant vous devrez servir les fichiers d'un petit serveur pour que le site fonctionne. Si vous remarquez que, lorsque vous exécutez npm run build
, le terminal imprimera une notification ...
Tip:
Built files are meant to be served over an HTTP server.
Opening index.html over file:// won't work.
Vous pouvez créer un serveur http simple dans votre répertoire /dist
avec express, puis héberger votre site quelque part comme Heroku.
Consultez cet article https://medium.com/@sagarjauhari/quick-n-clean-way-to-deploy-vue-webpack-apps-on-heroku-b522d3904bc8#.4nbg2ssy0
TLDR;
écrire un serveur express super simple
var express = require('express');
var path = require('path');
var serveStatic = require('serve-static');
app = express();
app.use(serveStatic(__dirname));
var port = process.env.PORT || 5000;
app.listen(port);
console.log('server started '+ port);
ajouter un script postinstall
dans un package.json dans /dist
{
"name": "myApp",
"version": "1.0.0",
"description": "awesome stuff",
"author": "me oh my",
"private": true,
"scripts": {
"postinstall": "npm install express"
}
}
Poussez uniquement votre dossier /dist
sur heroku après avoir compilé votre site.
preuve: j'ai suivi ces étapes pour héberger mon projet vue.js
Le meilleur moyen de développer Vue application est de lancer le serveur de développement et, après tout, de ne créer que des actifs statiques. Vous n'avez pas besoin d'utiliser les fichiers vuex, il est même préférable d'utiliser un modèle statique car vous pouvez facilement l'intégrer à un serveur (WordPress ou autre). Servira utilement un démarreur, par ex. Vue.js starter
Pourriez-vous essayer quelque chose d'aussi simple qu'une configuration de compartiment S3 pour le service Web? Quelle est la taille de votre projet? Combien de trafic pensez-vous obtenir? S'il est très petit, vous pourrez peut-être héberger sur S3 et utiliser Webpack, etc.