Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Погрузись в мир куриных перестрелок! Хватай пушку и пусть только перья останутся на месте твоих врагов!

Чикен Страйк

Шутер, Экшены, Для мальчиков

Играть

Топ прошлой недели

  • Oskanov Oskanov 8 постов
  • alekseyJHL alekseyJHL 6 постов
  • XpyMy XpyMy 1 пост
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Новости Пикабу Помощь Кодекс Пикабу Реклама О компании
Команда Пикабу Награды Контакты О проекте Зал славы
Промокоды Скидки Работа Курсы Блоги
Купоны Biggeek Купоны AliExpress Купоны М.Видео Купоны YandexTravel Купоны Lamoda
Мобильное приложение

Npm

23 поста сначала свежее
5
glab.16
4 года назад

Микросервис для работы с файлами на NodeJS⁠⁠

Микросервис для работы с файлами на NodeJS Npm, База данных, FS, Файл, Длиннопост, Nodejs

Привет Пикабу,

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

Начать стоит с того, что мало било просто создать приложение, нужно било создать еще и npm модуль для работы с ним.

Начнем пожалуй с приложения. В основу его лег модуль fs (File System).

Приложение принимает объект, в котором содержится метод, путь, название файла, ну итак же data если мы хотим записать файл. Возвращает же приложение сообщение о успешном выполнении вроде "directory has been created" или содержимое файла если вы пытаетесь прочитать файл. Так же оно может вернуть объект содержавший в себе сообщение о неудавшимся действии и саму ошибку.

Ну а теперь по подробней непосредственно об установке и работе с приложением.

Для начала выберите папку в которой будет находится сервер базы данных и cклонируйте исходники приложения с GitHub командой:

git clone https://github.com/GreenHouseControllers/GH-database.git ,

ну или же если у вас не установлен GitHub скачайте и распакуйте zip архив.

Чтоб запустить сервер откройте терминал в его корне и используйте команду npm start. Теперь приложение-база данных готово к работе.

Теперь переместимся в ваше приложение. Чтоб начать вам необходимо установить npm модуль c помощью команды:

npm install ghc-db --save.

После установки вы можете проверить наличие модуля в package.json.

Далее необходимо подключить модуль в ваш проект строчкой:

const db = require('ghc-db');

Немного о методах

Всего в у этого модуля 7 методов, а именно:

1. createDir - создает папку.

2. removeDir - удаляет папку (только если она пустая если в ней что то есть необходимо удалить содержимое, в противном случае вы получите ошибку.

3. createFile - создает файл.

4. removeFile - удаляет файл.

5. readFile - читает содержимое файла.

6. readJson - читает json файл.

7. writeFile - записывает data в файл.

О роутинге

Один из нюансов, который может вызвать проблемы это то, что если обращение к базе данных будет происходить в роуте, то колбек роута должен быть асинхронным. Таким, как указанов примере ниже

app.get('/', async (req, res) => {

let answer = await db.createDir('', 'exemple');

res.status(200).send(answer);

});

Общение с базой

npm модуль использует для возврата вам ответа 'return', по этому перед вызовом метода вы должны создать переменную.

метод вызывается после await.

Структура для всех кроме witeFile: let answer = await method(path, name);

Для writeFile вам предварительно нужно создать переменную data в которую вы передадите то, что вы хотите передать (переменную не обязательно называть data).

Структура для witeFile: let answer = await method(path, name);

Пример для всех кроме writeFile:

let answer = await db.createDir('a/b/c', 'exemple');

Пример для writeFile:

let data = {

"name": "jack",

"lastname": "piterson"

}

await db.createDir('a/b/c', 'index.json', data);

На этом вроде как все. Буду рад если вас заинтересует данное приложение, жду конструктивной критики.

Благодарю за внимание.

Показать полностью 1
[моё] Npm База данных FS Файл Длиннопост Nodejs
25
hoopengo
hoopengo
4 года назад
Программирование на python

Ryno - npm для deno (pre-release)⁠⁠

Текст пост

Всем привет! Я знаю к такому относятся плохо и 100% про это скажут - пфф, хренота. Но все-жё хочу показать вам мой мини-проект. Буду ли я его продолжать - зависит от вас

Кстати я программист (поэтому в предыстории нихрена непонятно), мне 1 годик + '4'

Предыстория:

4 часа назад: Я сидел в ноуте и думал на проектами.. Эх чтобы сделать? Сейчас все спят, а один я могу что-то сломать +=+ Может что-то подучить? Точняк там же deno ещё в мае вышла!

После 1 часа изучения:

Ну тут есть некоторые закавычки =_= Эту вашу безопасность с флагами я манал. Ну и решил я сделать npm для deno. Знающие люди зададутся вопросом - начуя? Ведь можно использовать npm для заготовленных команд по типу "deno run --allow-net index.ts". Это да, но всё-же с помощью npm ты не сможешь реализовать некоторые функции. .

Незнаю как другим, но мне страшно делать проект на линках (кто не в танке, все зависимости импортируются с хоста), поэтому в будущем хотелось бы сделать способ install.

И всё это я к тому что сделал пока тупо pre-release копирку npm для deno.

- GitHub

В будущем я хочу добавить некоторые функции.

На гитхабе полностью описана установка, кто хочет - опробуйте

Оболочка написана на Python, да все пока в принципе написано на Питоне (Люблю подушить змею)

In-Work:

1. install *packages

2. поддержка флагов.

{
"name": "DENO",
"version": "0.0.0",
"author": "Ryno",
"flags": {
"--allow-net"
},
"scripts": {
"start": "deno run *flags index.ts"
}
}

Скорее всего будет много Минусов и пост скатиться, но я не унываю. Если вам понравилось то что я делаю - форкните и поставьте звезду на github..

Спасибо за внимание!

Показать полностью
[моё] Npm Python Текст
3
romanzhivo
5 лет назад

Polymer: краткие команды для polymer-cli⁠⁠

Всем привет!


Для тех, кто пишет на фреймворке Polymer


В очередной раз набирая команду polymer analyze > analysis.json для генерации документации компонента я решил, что не располагаю таким большим запасом свободного времени, и было бы замечательно сократить её до нескольких букв. К тому же, писать polymer lint или polymer serve мне тоже казалось долгим. Не найдя подходящего решения, написал небольшой CLI - обёртку над командами polymer-cli. Конечно, есть же история команд и можно переключаться в одном терминале стрелочками вверх-вниз по списку команд, или использовать подсказки bash, но это всё равно дольше, чем ввести po doc или po s. Буду рад отзывам и доработкам.


Пакет npm

Репозиторий

[моё] Программирование Javascript Cli Оптимизация Текст Nodejs Npm
18
Stoikiy
Stoikiy
5 лет назад

Апокалипсис близко? Дом-ру обрубает связь⁠⁠

Этот пост пишу только от количества "удивления" которое этот провайдер мне подарил сегодня.
На волне закона об изоляции интернета, я ждал нечто подобно но не так скоро.

Сижу пишу проект на Vue.js , понадобился мне какой то пакет. Как обычно иду в консоль со словами npm i но сегодня от туда прилетает мне 404. Начинаю разбираться, лезу в конфиг, пытаюсь обновить Node и Npm но всё безуспешно, любые пакеты выдавали 404.
Звоню провайдеру, они "ничего не блокируем" .  В общем если коротко... Дом.ру , Питер, блокируют... приехали блин. Коллеги, проверьте npm у себя.

Пост для минусов в комментариях.

[моё] Разработка Npm Node Web Текст
14
5
Jumpst
Jumpst
6 лет назад

И так всю жизнь...⁠⁠

И так всю жизнь...
X (Twitter) Скриншот Frontend Npm Разработка Профессиональный юмор
1
Vanstolyaroff
Vanstolyaroff
7 лет назад

Анус себе заблокируй, пёс...⁠⁠

Смешно и грустно. Некто воспользовался дырявостью нашего роск*мпозора и заблокировал популярный менеджер пакетов Node.js - NPM.

И ведь предупреждали же не раз....

Анус себе заблокируй, пёс... Разблокируйте себе мозги РКН, Роскомнадзор, Npm, Блокировка
Разблокируйте себе мозги РКН Роскомнадзор Npm Блокировка
18
44
Silic
8 лет назад
IT-юмор

Пакеты в пакете⁠⁠

https://www.npmjs.com/package/atbmarket


Even an ATB market plastic bag was there... What about you?!


ATB Plastic bag

Пакеты в пакете IT, IT юмор, АТБ, Npm

ATB Plactic Bag like travel around the world. And we bring it to your project just run


npm install atbmarket --save


and add to your entry JS script:


require('atbmarket')();


Enjoy and show ATB the world of your production!


И комментарий:

Пакеты в пакете IT, IT юмор, АТБ, Npm

Пожалуйста, добавьте возможность хранить много пакетов в пакете для реализации паттерна "Пакет с пакетами". :D

Показать полностью 2
IT IT юмор АТБ Npm
8
Посты не найдены
О Нас
О Пикабу
Контакты
Реклама
Сообщить об ошибке
Сообщить о нарушении законодательства
Отзывы и предложения
Новости Пикабу
RSS
Информация
Помощь
Кодекс Пикабу
Награды
Команда Пикабу
Бан-лист
Конфиденциальность
Правила соцсети
О рекомендациях
Наши проекты
Блоги
Работа
Промокоды
Игры
Скидки
Курсы
Зал славы
Mobile
Мобильное приложение
Партнёры
Промокоды Biggeek
Промокоды Маркет Деливери
Промокоды Яндекс Путешествия
Промокоды М.Видео
Промокоды в Ленте Онлайн
Промокоды Тефаль
Промокоды Сбермаркет
Промокоды Спортмастер
Постила
Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии