web-dev-qa-db-ja.com

Node js as as http server and Host angularJS SPA

私はangularJSで書かれ、gruntによって構築されたアプリケーションを持っています。ノードjsからhttpサーバーを作成してそこでホストする方法はありますか?役立つコードスニペットまたはドキュメントを共有してください。ありがとう

15
dhana
  1. (最も簡単)サーバー側ロジックがない場合は、npmからhttp-serverモジュールを介してクライアント側のAngularJS/HTML/cssを提供するだけです。 https://www.npmjs.com/package/http-server $> npm install -g http-serverでインストールし、クライアントフォルダーに移動してhttp-serverと入力し、Enterキーを押します。

  2. サーバーサイドコードを記述している場合(ExpressJSまたはREST API Web API)、$> nodemon server.jsを使用します

  3. 本番アプリケーションのオプションを検討している場合は、forever/pm2 https://www.npmjs.com/package/pm2https://www.npmjs.com/package/を検討してください。永遠に

15
Sutikshan Dubey

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;

app.jsを使用してnode app.jsファイルを実行します

5
Ajay Kumar

この例は、どんな場合でも私にとってうまくいきます

Base-urlがあるかどうかに関係なく

ここにソースコード

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