Node.js бэкенд-система управления
Это бэкенд-часть системы управления, основанная на Express и MongoDB. Фронтенд-часть (Vue бэкенд-система) доступна по ссылке: https://gitee.com/hlshare/express_mongodb_web.
Поскольку это открытый исходный код, пароли пользователей не зашифрованы. Пользователи могут самостоятельно зашифровать пароли при добавлении новых пользователей.
В этом проекте операция удаления является реальным удалением, в то время как в обычных бизнес-сценариях удаление обычно является логическим удалением, то есть изменением состояния данных в базе данных, а не реальным удалением. При запросе данные фильтруются по состоянию без удаления.
Существует два способа загрузки изображений: облачное хранилище Qiniu и традиционный файловый сервер. При использовании традиционного файлового сервера база данных хранит путь к файлу без указания домена (IP-адреса). При использовании изображения необходимо добавить префикс сервиса, например:
const imgPrefix = 'http://localhost:6166/'
const imgUrl = imgPrefix + '/static/img/tudousi.jpg'
// Окончательный результат: 'http://localhost:6166/static/img/tudousi.jpg'
Это система управления бэкендом, основанная на Express и MongoDB, которая включает следующие функции:
API-документы генерируются с помощью apidoc. Пример генерации документов: http://hlshare.gitee.io/express_mongodb.
ORM базы данных использует Mongoose.
Используемые зависимости:
"archiver": "^5.0.0",
"cors": "^2.8.5",
"express": "^4.17.1",
"jsonwebtoken": "^8.5.1",
"mongoose": "^5.9.25",
"multer": "^1.4.2",
"nodemailer": "^6.4.10",
"qiniu": "^7.3.2",
"xlsx": "^0.16.6"
Структура каталогов:
.
├── apidoc # Команда для создания документов API
├── db # Файлы, связанные с базой данных
├── model # Определение структуры таблицы
└── connect.js # Подключение к базе данных
├── output # Временное хранение экспортированных многоязычных файлов JS (для загрузки на фронтэнд)
├── router # Интерфейсные маршруты (для выполнения операций CRUD с базой данных)
├── sql # Файлы SQL, используемые в этом проекте (импорт в базу данных MongoDB)
└── mongoDB команды.txt
├── static # Статические ресурсы (доступны извне)
├── excel # Временное хранилище экспортированных файлов Excel (для загрузки на фронтэнд)
├── img # Ресурсы изображений
└── rar # Временное хранилище экспортированных сжатых файлов RAR (для загрузки на фронтэнд)
├── utils # Общие методы или переменные JS
├── counter.js # Автоматическое увеличение идентификатора для таблиц базы данных
├── exportXlsx.js # Методы экспорта Excel
├── mail.js # Отправка проверочных кодов по электронной почте
├── qiniu.js # Метод загрузки в облако Qiniu
├── rar.js # Сжатие RAR
└── token.js # Генерация и проверка токенов
├── Многоязычные файлы.xlxs # Используется для тестирования массового импорта многоязычных шаблонов
├── apidoc.json # Файл конфигурации apidoc
├── package.json
└── serve.js # Файл входа в проект
# Просмотр источника
npm config get registry
# Смена источника
npm config set registry https://registry.npmjs.org
# Источник Taobao
npm config set registry https://registry.npm.taobao.org
npm install
Запустите MongoDB.
Импортируйте файлы SQL в папке json в базу данных expressdbs MongoDB.
Запустите npm run dev
, порт по умолчанию — 6166.
Выполните npm run doc
для генерации документов API, которые будут сохранены в папке apidoc (если вы хотите использовать apidoc, вам необходимо установить его глобально с помощью npm install apidoc -g
).
Рекомендуется использовать pm2 для развёртывания на сервере. Например, выполните следующую команду:
D:\Projects\node\gitee\express_mongoDB>pm2 start serve.js --name express_mongoDB
Для управления процессом можно использовать следующие команды pm2:
pm2 list
— показать состояние всех процессов.
pm2 start serve.js --name my-api
— запустить процесс с именем my-api.
pm2 stop 0
— остановить указанный процесс (0 — это идентификатор процесса).
pm2 stop my-api
— остановить процесс с указанным именем.
pm2 restart 0
— перезапустить указанный процесс.
pm2 restart all
— перезагрузить все процессы.
pm2 stop all
— остановить все процессы.
pm2 reload all
— перезагрузить процессы (используется для сетевых процессов).
pm2 logs
— отобразить журналы всех процессов.
pm2 monit
— отслеживать все процессы.
pm2 startup
— создать скрипт инициализации для поддержания работы процессов.
pm2 delete 0
— завершить указанный процесс.
pm2 delete all
— завершить все процессы.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )