Базовое использование API на стороне сервера и передача переменной на стороне сервера на сторону клиента

Я только что получил степень в области ИТ, и я новичок в использовании API (и подобных форумов), поэтому мне очень жаль, если мой вопрос объяснен смутно или если это просто глупо :), помимо что я не носитель английского языка :P. Хорошо, поэтому я пытаюсь использовать API-интерфейс Google Trends, который я установил на свой сервер с замазкой, используя sudo npm install google-trends-api. (его можно найти здесь https://www.npmjs.com/package/google-trends-api#installation) Насколько я понимаю, это API на стороне сервера, поэтому сценарии, которые я пишу с помощью методов, предусмотренных для этого API, не будут работать в проводнике, как это делают обычные файлы js. Вот пример, в котором используется API, который я нашел на странице, который выглядит следующим образом.

var googleTrends = requite('google-trends-api');

googleTrends.hotTrends('US')
.then(function(results){
    console.log(results);
})
.catch(function(err){
    console.log(err);
});

это выводит список из 20 элементов на консоль, когда я использую его на узле. Я хотел бы знать, есть ли способ присвоить эти результаты переменной, а затем использовать эту переменную в обычном скрипте javascript внутри html-файла. Я ничего не знаю о node.js и тому подобном, и я хотел бы провести некоторое исследование вместо того, чтобы спрашивать здесь, но я собирался использовать другой подход для получения такой информации, но теперь мне пришлось изменить свои планы и у меня недостаточно времени, и, учитывая, что я считаю, что это довольно простая проблема для решения (возможно?), я был бы очень признателен, если бы кто-нибудь мог объяснить мне основы каждого шага. Спасибо, и хорошего дня.


person Guido Guevara Rueda    schedule 12.10.2016    source источник
comment
Хорошо, так как вы только начинаете, я хотел бы указать вам следующее направление: посетите expressjs.com, который простая структура для создания веб-сайтов, где у вас есть интерфейсная часть (html) и внутренняя часть (то, что вы только что написали), структурированная для вас. Кроме того, зайдите на YouTube и найдите учебник по ExpressJS, посмотрите несколько таких видео, и вы должны хорошо понимать, как создавать веб-сайты с использованием NodeJS. Удачи в обучении ????.   -  person David Gatti    schedule 12.10.2016


Ответы (1)


Ваш вопрос достаточно широкий. Node.js — это движок Chrome V8 в комплекте с некоторыми библиотеками для ввода-вывода и работы в сети. Это позволяет нам использовать JavaScript вне браузера и создавать серверные службы или серверы в целом (в вашем случае). Я надеюсь, что вы знаете об этой разнице :)

Первое, что вам нужно сделать, это взглянуть на express.js и создать простой сервер. Это будет не более 20 строк кода. Затем вам нужно обогатить это другими вещами, такими как механизм шаблонов (handlebars.js, jade и т. д.). Вы должны разрешить серверу обслуживать статические файлы, которые в конечном итоге станут вашими файлами js, css и изображениями. Создав этот простой сервер, вы сможете в первую очередь обслуживать простую html-страницу. Кроме того, у вас должен быть javascript на стороне клиента, который вы должны написать, и теперь вы можете использовать модуль выше. К сожалению, вы не можете использовать этот модуль непосредственно в файле javascript, который вы будете писать. Чтобы иметь возможность использовать этот модуль, вы должны транскомпилировать его в javascript, понятный браузеру*. Помните, что браузер не понимает оператор require, и некоторые старые браузеры могут иметь проблемы с промисами, которые использует этот модуль. Это вещи, которые должны быть скомпилированы. Для этого вы должны использовать такой инструмент, как browserify, а скомпилированный файл, который он будет извлекать, должен быть включен в сценарии вашей html-страницы.

Может быть, есть довольно много концепций, о которых вы не знаете или не понимаете их, но тратите немного времени, чтобы понять их.

P.S.: Я ответил, исходя из предположения, что модуль google-trends-api не использует вещи, специфичные для node.js, такие как, например, файловая система.

person Stavros Zavrakas    schedule 12.10.2016