@Nomad88 said in Уже 3 недели не могу загрузить скрипт на сервер:
@Fox Доброго дня! Подскажите, что можно сделать, если используются эмодзи в ноджс? Нужно их наличие по условию ТЗ.
Экранируйте
console.log("Смайлик: \uD83D\uDE00");Привет
Не работают POST и GET запросы на Node.js версии 12.18.3 с npm модулем "request". При POST и GET запросах получаю всегда один и тот же ответ: {} (двойные фигурные скобки) и что-то мне подсказывает, что это не ответ сервера. Раньше теже запроссы работали на Node.js v8.6.0.
Список используемых модулей выглядит так (на v8.6.0 он выглядел так же):

Приведу часть Node.js кода:
var request = require('request');
var crypto = require('crypto');
const qs = require('qs');
.....
const requestOptions = {.........}
......
request(requestOptions, function(error, response, body) {....}
Асинхронность в коде учтена.
Совместим ли модуль request с Node.js v12.18.3? Кстати, при выборе npm модуля в настройках я не выбираю его из выпадающего списка, а просто вбиваю слово "request" и БАС подгружает этот модуль.
Если проблема в несовместимости этого npm модуля vожет мне следует установить другой npm модуль для POST и GET запросов (из выпадающего списка), например "got" и перестроить приведенный выше код Node.js под него?
Версия БАС 23.2.2
ОС Windows 7 Pro
@UserTrue Как перестроить мой код Node.js на новый модуль?
var request = require('node-fetch');
var crypto = require('crypto');
const qs = require('qs');
.....
const requestOptions = {.........}
......
request(requestOptions, function(error, response, body) {....}
Надо ли слово "request" менять в остальной части кода на "node-fetch"?
@botovod said in не работает npm модуль "request" для Node.js v12.18.3:
@UserTrue Как перестроить мой код Node.js на новый модуль?
var request = require('node-fetch');
var crypto = require('crypto');
const qs = require('qs');
.....
const requestOptions = {.........}
......
request(requestOptions, function(error, response, body) {....}Надо ли слово "request" менять в остальной части кода на "node-fetch"?
Только если модуль "node-fetch" имеет точно такие же методы, как и "request"
Что-то ни "node-fetch" ни "got" не хотят работать в БАСе ни в версии Ноды 12.18.3 ни в версии 8.6.0.
Коды для теста брал из интернета (прикрепляю ниже):
var fetch = require('node-fetch');
fetch('https://google.com')
.then(res => res.text())
.then(text => console.log(text))
const got = require('got');
(async () => {
try {
const response = await got('https://google.com');
console.log(response.body);
//=> '<!doctype html> ...'
} catch (error) {
console.log(error.response.body);
//=> 'Internal server error ...'
}
})();

Скрипт с кодом:
node-fetch.xml
Что делаю не так?
@botovod said in не работает npm модуль "request" для Node.js v12.18.3:
Что-то ни "node-fetch" ни "got" не хотят работать в БАСе ни в версии Ноды 12.18.3 ни в версии 8.6.0.
Коды для теста брал из интернета (прикрепляю ниже):var fetch = require('node-fetch'); fetch('https://google.com') .then(res => res.text()) .then(text => console.log(text))const got = require('got'); (async () => { try { const response = await got('https://google.com'); console.log(response.body); //=> '<!doctype html> ...' } catch (error) { console.log(error.response.body); //=> 'Internal server error ...' } })();Скрипт с кодом:
node-fetch.xmlЧто делаю не так?
await(new Promise((resolve, reject) => {
var fetch = require('node-fetch');
fetch('https://google.com')
.then(res => res.text())
.then(text => {
console.log(text)
resolve()
})
}));
Вобщем, с node-fetch разберусь позже, а пока решил потестировать переписанный скрипт на старом модуле request и заметил такую проблему: не работают POST и GET запросы на Node.js версии 8.6.0 с npm модулем "request" в версии БАС 23.2.2. Выдает ответ: {} (фигурные скобки).
Пробовал пересоздать действие Node.js - не помогает.
Когда открываю такой же скрипт на БАС 23.2.2 с тем же кодом Node.js созданный в версии БАС 21.9.2 - то POST и GET запросы работают исправно (скопировал код из одного скрипта в другой, чтобы убедится что он одинаковый).
Можно тут что-то сделать, чтоб скрипт созданный в БАС 23.2.2 исправно работал в этой же версии?
Еще заметил такую особенность, что нужно пересоздавать действие Node.js для разных версий Node.js.
@botovod said in не работает npm модуль "request" для Node.js v12.18.3:
(async () => {
Убери (async () => { }
@Fire_track said in не работает npm модуль "request" для Node.js v12.18.3:
Убери (async () => { }
Его там и нет. Раньше этот же код работал нормально, теперь не работает. Толи БАС перестал поддерживать модуль request в новой версии (хотя по моему это имеет отношение именно к Node), то ли скачиваемый модуль изменился.