• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Uruchamianie aplikacji MEAN na serwerze (mydevil.net)

0 głosów
358 wizyt
pytanie zadane 25 marca 2018 w JavaScript, jQuery, AJAX przez Rafineria Nowicjusz (170 p.)

Witam! 

Stworzyłem sobie lokalnie aplikację w oparciu o MEAN i wszystko pięknie działało dopóki nie postanowiłem tego przenieść na serwer. Sama aplikacja jest widoczna, ale niestety nie pobiera danych. Używam hostingu mydevil.net i zrobiłem następujące kroki:

1. Stworzyłem bazę mongo, zaimportowałem dane - działa ręczne czytanie danych z kolekcji za pomocą prostych komend typu find itp.
2. Uruchomiłem drugą stronę w innej domenie o typie nodejs, umieściłem tam pliki server.js i api.js. Na początku miałem problem z portem, ale po jego rezerwacji i wpisaniu w konsolę "node server.js" dostaję prawidłową odpowiedź: "server is running".
3. Wrzuciłem wersję produkcyjną z Angulara na stronę www - działa, aplikacja jest widoczna, ale nie ładuje danych (błąd Failed to load resource: the server responded with a status of 404 (Not Found)) 

Podsumowując, każdy z elementów wygląda ok, jeżeli spojrzymy na niego z osobna, jednak całość nie chce razem współpracować. Może ktoś miał podobne doświadczenie i jest w stanie pomóc mi w tym temacie?

Kody:

api.js

var express = require('express');
var router = express.Router();
var MongoClient = require('mongodb').MongoClient;
var ObjectID = require('mongodb').ObjectID;

const connection = (closure) => {
    return MongoClient.connect('mongodb://login:haslo@mongo23.mydevil.net/bazamongo', (err,db) => {
        if(err) {
            return console.log(err);
        }
        closure(db);
    });
}

let response = {
	status: 200,
	message: null,
	data: []
}

var sendError = (err, res) => {
	response.status = 501;
	response.message = typeof err == "object" ? err.message : err;
	res.status(501).json(response);
}

router.get('/dane',(req,res)=>{
    connection((db)=>{
        var database = db.db('bazamongo');
        database.collection('dane').find().toArray().then((dane)=>{
            response.data = dane;
            res.json(response);
        })
    })
})

server.js

var express = require('express');
var bodyParser = require('body-parser');
var path = require('path');
var http = require('http');
var app = express();
var cors = require('cors');

var api = require('./server/api.js');

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: false}));

app.use(express.static(path.join(__dirname, 'dist')));

app.use('/', api);
app.use(cors());

app.get('*'), (req, res) => {
	res.sendFile(path.join(__dirname, 'dist/index.html'));
}

var port = process.env.PORT || '60519';
app.set('port', port);

var server = http.createServer(app);
server.listen(port, () => console.log("Server is running"));

service w Angularze

import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';

@Injectable()
export class Service {
	result;
  constructor(private _http: Http) {}

    getDane() {
    return this._http.get('http://node.domena/dane').map(result => this.result = result.json().data);
    }

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+3 głosów
1 odpowiedź 535 wizyt
pytanie zadane 18 kwietnia 2015 w JavaScript, jQuery, AJAX przez hypothermi Obywatel (1,180 p.)
0 głosów
0 odpowiedzi 53 wizyt
0 głosów
1 odpowiedź 92 wizyt
pytanie zadane 1 kwietnia 2018 w SQL, bazy danych przez Dzony66 Początkujący (310 p.)
Porady nie od parady
Forum posiada swój własny chat IRC, dzięki któremu będziesz mógł po prostu pogadać z innymi Pasjonatami lub zapytać o jakiś problem. Podstrona z chatem znajduje się w menu pod ikoną człowieka w dymku.IRC

66,379 zapytań

113,130 odpowiedzi

239,487 komentarzy

46,636 pasjonatów

Przeglądających: 347
Pasjonatów: 6 Gości: 341

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...