Я очень зеленый, когда дело доходит до node.js интеграции - PullRequest
0 голосов
/ 01 марта 2020

Итак, я решил, что лучший способ научиться - это пытаться терпеть неудачу снова и снова. Я строю веб-приложение, по крайней мере, пытаюсь. Мне любопытно, как go об использовании узла для запроса моей базы данных. Я могу установить соединение с БД с помощью моего единственного файла приложения. js.

var mysql = require('mysql');

    var connection = mysql.createConnection({
        host     : 'xxxxxxxx-us-east-1.rds.amazonaws.com',
        port      :  '3306',
        user     : 'user',
        password : 'password',
        database : 'app'
});
connection.connect(function(err){

    if(!err) {
        console.log("Database is connected ... ");    
    } else {
        console.log("Error connecting database ... ");    
    }
});

Моя проблема или отсутствие понимания начинается, когда я пытаюсь интегрировать это в свою клиентскую часть js код Например, скажем, я хотел запустить соединение с БД, когда пользователь загружает фотографию.

var upload = s3.putObject({
            Bucket: albumBucketName,
            Key: photoKey,
            Body: file,
            ACL: "public-read",
        });

        var promise = upload.promise();

Могу ли я включить файл узла приложения. js? Извините, если это глупый вопрос. Мне кажется, что мне не хватает фундаментального понимания того, как интегрировать функциональность узла с моей текущей клиентской стороной JS. Любая помощь или дальнейшее чтение приветствуется - мне даже любопытно PHP решения. X

1 Ответ

1 голос
/ 01 марта 2020

Серверный и клиентский код разделены. Однако вы можете создать Node-модуль, который использует AWS и возвращает соответствующий ответ клиенту после завершения.

Для этого вам необходимо создать конечную точку, на которую вы отправляете свои данные от клиента, а затем обрабатывать с теми же модулями AWS только для узла. Вам также необходимо иметь доступ к экземпляру connection из другого модуля NodeJS. Это может быть достигнуто несколькими способами. Во-первых, если библиотека, которая создает экземпляр соединения, отслеживает все соединения, вы должны иметь возможность требовать библиотеку в другом модуле, а затем использовать API библиотеки для доступа к одному из соединений. Во-вторых, если вы создаете только один экземпляр соединения и разрешаете его экспортировать, вы можете импортировать модуль с этим соединением. В-третьих, вы можете использовать что-то вроде шаблона request/response между двумя модулями, с экземпляром шаблона, объявленным глобально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...