web-dev-qa-db-de.com

Knoten js als http-Server und Host angleJS SPA

Ich habe eine Anwendung auf angleJS geschrieben und von grunt erstellt. Gibt es eine Möglichkeit, einen http-Server aus Knoten js zu erstellen und ihn dort zu hosten. Bitte teilen Sie alle Codeausschnitte oder Dokumente, die helfen könnten. Vielen Dank

13
dhana
  1. (am einfachsten) Wenn Sie keine serverseitige Logik haben, können Sie die clientseitige AngularJS/HTML/css einfach über das http-Server-Modul von npm . https://www.npmjs.com/package/ bedienen. http-server Installieren Sie es einfach über $> npm install -g http-server und gehen Sie zu Ihrem Client-Ordner, geben Sie http-server ein und drücken Sie die Eingabetaste.

  2. Wenn Sie serverseitigen Code geschrieben haben (ExpressJS oder Restify-Web-API), verwenden Sie $> nodemon server.js

  3. Wenn Sie nach Optionen für Produktionsanwendungen suchen, sollten Sie für immer/pm2 https://www.npmjs.com/package/pm2https://www.npmjs.com/package berücksichtigen /für immer

14
Sutikshan Dubey

Verwenden Sie den folgenden Code in Ihrer app.js-Datei.

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;

Führen Sie die app.js-Datei mit node app.js aus.

4
Ajay Kumar

Dieses Beispiel funktioniert bei mir auf jeden Fall

Auch wenn Sie eine Basis-URL haben oder nicht

Quellcode hier

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}!`))

0
Amr Ibrahim