Size: a a a

Node.js — русскоговорящее сообщество

2021 April 04

DN

Drew Naumenko in Node.js — русскоговорящее сообщество
ну чтото я загрузил и в зависимостях вроде всё написал, но чёто он там ошибки катит в консоле
полностью структуру и файлы папаки server я вопроизвёл
https://codesandbox.io/s/epic-shamir-uc5eb?file=/src/index.js
источник

AC

Andy Cox in Node.js — русскоговорящее сообщество
пощадите глаза -_- лучше переписать в какой-то reusable код чтоли
источник

АК

Алексей Козин... in Node.js — русскоговорящее сообщество
как только получил из вне данные - валидируй
источник

АК

Алексей Козин... in Node.js — русскоговорящее сообщество
Точнее парси
источник

D

Denis in Node.js — русскоговорящее сообщество
я использую Joi но проблема в том что сервисы могут не только из АПИ вызываться, но и с других сервисов, и тогда не понятно как гарантировать валидность данных, может их другой сервис подпортил...
источник

АК

Алексей Козин... in Node.js — русскоговорящее сообщество
Расскажу, как я делаю:
- я паршу через Zod схемы
- и присваиваю распаршенным данным тип
- на тип вешаю бренд

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

D

Denis in Node.js — русскоговорящее сообщество
можно и так,
1) просто смущает что приходится валидацию затягивать на уровень роутов, просто валидация у меня в моделях прописана, и в сервисах модели и так подключаются, а так их придется в роуты еще прописывать
2) это получается некое предположение что в сервисы всегда заходят валидные модели
источник

DN

Drew Naumenko in Node.js — русскоговорящее сообщество
я новичёк и много чего не понимаю,  вот я и спрашиваю что они подразумевали и как правильней его сделать ,
написать скрипт который при инициализации приложения будет
проверять есть ли нужные таблицы для работы в базе SQLlite и если нет, то
будет создавать таблицы и добавлять в них данные с файлов
по сути CRUD  на сервере я сделал
но взаимодействия базы данных и сервера тёмный лес , что в доках https://www.npmjs.com/package/sqlite3 по примерах кое-как прикрутил

но вообще тут много ньюансов
может они имели ввиду что при старте сервера дёргать по цепочке скрипт database.js  если  db.sqlite   не существует  ,
а не отдельной командой db_create

а так порлучаеться у меня на создание таблицы одна, команда на старт сервера другая
db_create
npm run serve
источник

АК

Алексей Козин... in Node.js — русскоговорящее сообщество
2) а как туда невалидные попасть могут? модель может быть только валидной )
источник

AC

Andy Cox in Node.js — русскоговорящее сообщество
да погодите с бд, у вас роуты даже через жопу
источник

C

Cotangent in Node.js — русскоговорящее сообщество
Переслано от Cotangent
answer в коллбеке хранит данные, но за пределами fs.readFileSync, answer = "", как мне сделать так, чтобы данные добавлялись в answer, то есть не выводило пустую строку в конце кода?
источник

AS

Artem Soroka in Node.js — русскоговорящее сообщество
readFileSync синхронный без колбэка
Либо поменяйте на readFile
источник

V

V in Node.js — русскоговорящее сообщество
let answer = filesName.reduce(async (answer, filename) => answer + await fs.promises.readFile(PATH_TO_MESSAGE + filename), '')
источник

C

Cotangent in Node.js — русскоговорящее сообщество
спасибо, тупанул
источник

IS

Ilya Sinkin in Node.js — русскоговорящее сообщество
бред
источник

V

V in Node.js — русскоговорящее сообщество
В чём?
источник

C

Cotangent in Node.js — русскоговорящее сообщество
оно работает
источник

IS

Ilya Sinkin in Node.js — русскоговорящее сообщество
у тебя в reduce передаётся асинхронная функция
источник

C

Cotangent in Node.js — русскоговорящее сообщество
не буду вдаваться в подробности как, но я потом прочитаю, спасибо за ответы
источник

V

V in Node.js — русскоговорящее сообщество
И что?
источник