Начало работы с основами parse server и node.js - PullRequest
0 голосов
/ 25 марта 2019

Я установил сервер синтаксического анализа bitnami с рынка AWS, чтобы предоставить бэкэнд для приложения для iOS.В приложении для iOS API настроен в http://myURL.com/parse, и когда я перехожу на то, что, как я думал, будет домашней страницей, http://myURL.com, вместо этого он перенаправляет меня на панель анализа, расположенную в http://myURL.com/apps.Я бы хотел, чтобы http://myURL.com служил домашней страницей для моего приложения вместо перенаправления на панель анализа, чтобы можно было создать веб-приложение, которое будет использовать те же данные, которые использует приложение.Это мой первый проект, использующий node.js, поэтому я надеюсь, что кто-то может указать мне правильное направление по нескольким темам.Моя предыдущая работа с веб-приложением всегда была в стеке LAMP, поэтому мне любопытно:

  • Правильно ли предположить, что серверная часть синтаксического анализа, которую использует iOS, также может быть серверной для веб-приложения, доступ к которому осуществляется через браузер?
  • Когда я анализирую код в server.js в / home / bitnami / apps / parse / htdocs, я не вижу функции, которая перенаправляет на myURL.com/apps, есть ли другая область, которую янужно сосредоточиться на том, чтобы понять, как myURL.com перенаправляется в папку приложений?
  • Я заметил, что в / home / binami / apps / rockmongo есть папка с инструкциями по установке php-скриптов, может ли мой экземпляр AWS работатьphp И node.js или будет ли установка стека LAMP мешать работе стека node.js?
  • Я уверен, что есть отличная документация и / или руководства по этому вопросу, можете ли вы помочь мне начать работу, предоставивправильный способ выражения поисков в Google или, что еще лучше, ссылки на сами учебники?

Для контекста моя iOS позволяет пользователям входить в систему и позволяетони загружают изображения для анализа классов сервера, я просто хочу позволить пользователям войти в систему и загрузить изображение из веб-браузера, используя тот же сервер анализа, который имеет классы пользователь / файл.

Для справки ниже указан сервер.js, который, кажется, как-то направляет запросы от myURL.com на myURL.com/apps:

require('dotenv').config();
var express = require('express');
var ParseServer = require('parse-server').ParseServer;
var app = express();
// Specify the connection string for your mongodb database
// and the location to your Parse cloud code
var api = new ParseServer({
    databaseURI: "mongodb://root:9dh********@127.0.0.1:27017/bitnami_parse",
    cloud: "./node_modules/parse-server/lib/cloud-code/Parse.Cloud.js",
    appId: "19defd7********",
    masterKey: "cd8********",
    fileKey: "3bce6********",
    serverURL: "http://54.**.**.**:80/parse",
    filesAdapter: {
        "module": "@parse/s3-files-adapter",
        "options": {
            "bucket": process.env.S3_BUCKET,
        }
    },
});
// Serve the Parse API on the /parse URL prefix
app.use('/parse', api);

var port = 1337;
app.listen(port, function() {
    console.log('parse-server running on port ' + port);
});

//Parse Dashboard
var ParseDashboard = require('parse-dashboard');
var dashboard = new ParseDashboard({
    apps: [
        {
            appName: "My Bitnami Parse API",
            appId: "19defd7********",
            masterKey: "cd8d*******",
            fileKey: "3bce6********",
            production: true,
            serverURL: "http://54.**.**.**:80/parse"
        }
    ],
    users: [
        {
            user: process.env.ADMIN_USER,
            pass: process.env.ADMIN_PASSWORD
        }
    ], useEncryptedPasswords: true
});

var allowInsecureHTTP = true;

// Serve the Parse Dashboard on the /parsedashboard URL prefix
app.use('/', dashboard);

var portdash = 4040;
app.listen(portdash, function() {
    console.log('parse-dashboard running on port ' + portdash);
});

1 Ответ

1 голос
/ 28 марта 2019

Точка монтирования для Parse Dashboard определяется в этой строке:

app.use('/', dashboard);

Если вы хотите использовать отдельную точку монтирования для панели мониторинга, вы можете сделать это:

app.use('/dashboard', dashboard);

После изменения, если вы нажмете http://myURL.com/dashboard, она загрузит панель в / dashboard / apps. Конечная точка '/ apps' обрабатывается самой панелью анализа.

Теперь, если вы хотите загрузить свой сайт по корневому маршруту (/) или http://myURL.com,, вам нужно создать другой маршрут (при условии, что вы хотите пока обслуживать статический сайт)

app.use('/public', express.static(path.join(__dirname, '/public'), {
   etag: true
}));

app.get('/', function (req, res) {
   res.sendFile(path.join(__dirname, '/public/index.html'));
});

Чтобы обслуживать статический сайт, вам нужно создать папку, из которой вы будете размещать статический сайт. В этом случае я создал папку с именем public и поместил туда все мои html, css, js. Теперь мне нужно указать статическую папку в экспрессе. Это то, что я сделал в первой строке. После этого я просто обслуживаю index.html, создав маршрут GET.

Вы можете сделать много других вещей, таких как создание API или обслуживание динамического веб-сайта, а также использование сервера разбора. Но чтобы сделать это, вы должны сначала понять экспресс-фреймворк с nodejs.

Обновление: Parse API и Dashboard - это две разные вещи. Вы можете запустить только parse-сервер без приборной панели и наоборот. В вашем коде вы монтируете parse-сервер в / parse endpoint. Посмотрите на эту строку

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

Так что теперь сервер синтаксического анализа доступен в / parse endpoint. Вы можете изменить это на что угодно. Создайте отдельные конечные точки как для сервера разбора, так и для панели мониторинга.

...