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

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

  • Oskanov Oskanov 8 постов
  • AlexKud AlexKud 26 постов
  • StariiZoldatt StariiZoldatt 3 поста
Посмотреть весь топ

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

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

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

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

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

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
5 лет назад
Программирование на 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
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии