J'ai une application écrite sur angularJS et construite par grunt. Est-il possible de créer un serveur http à partir du nœud js et de l’héberger là-bas? S'il vous plaît partager un extrait de code ou un document qui pourrait aider. Merci
(plus simple) Si vous n’avez pas de logique côté serveur, vous pouvez simplement servir AngularJS/HTML/css côté client via le module serveur http à partir de npm . https://www.npmjs.com/package/ http-server Installez-le simplement via $> npm install -g http-server et allez dans votre dossier client, tapez http-server et appuyez sur entrée.
Si vous avez un code côté serveur écrit, (ExpressJS ou restify web api), utilisez $> nodemon server.js
Si vous recherchez des options pour les applications de production, pensez à toujours/pm2 https://www.npmjs.com/package/pm2https://www.npmjs.com/package /pour toujours
Utilisez le code suivant dans votre fichier app.js
.
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
var app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));
app.use(express.static(path.join(__dirname, 'public')));
/* GET home page. */
app.get('/', function(req, res, next) {
//Path to your main file
res.status(200).sendFile(path.join(__dirname+'../public/index.html'));
});
module.exports = app;
Exécutez le fichier app.js
en utilisant node app.js
Cet exemple fonctionne pour moi dans tous les cas
Même si vous avez base-url ou pas
var express = require('express');
var path = require('path');
var bodyParser = require('body-parser');
/**
* This server should Host angular appliation with or without base-url
* The angular static resources should be under `./public`
*/
var app = express();
app.use(function(req, res, next) {
console.log('Time:', Date.now() + ":", req.originalUrl)
next()
})
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: false
}));
app.use(express.static(path.join(__dirname, 'public')));
app.use('/base-here-if-any', express.static(path.join(__dirname, 'public')))
app.get('*', function(req, res, next) {
//Path to your main file
res.status(200).sendFile(path.join(__dirname + '/public/index.html'));
});
const port = 3000
app.listen(port, () => console.log(`Example app listening on port ${port}!`))