Я пытался клонировать репозиторий GitHub для запуска его на моем локальном компьютере, затем обнаружил две проблемы.
Код const define = require('../../lib/define');
в routes\productAPI.js
не может работать,поскольку отсутствует модуль ../../lib/define
, информация об ошибке приведена ниже.
internal/modules/cjs/loader.js:582
throw err;
^
Error: Cannot find module '../../lib/define'
Учитывая безопасность ресурсов, никогда не передавайте код, включающий строку подключения реального ресурса, в публичное хранилище..
Обновление:
Существует два пакета bcrypt
и bcrypt.js
для хэширования паролей., которые будут добавлены в ваш файл package.json
.Они совместимы в API, но bcrypt
требует node-gyp
с GlibC
для компиляции при установке в Linux, bcrypt.js
- это чистый Javascript-инструмент, который работает на 30% медленнее, чем bcrypt
.
В соответствии с вышеприведенным и каталогом node_modules
в вашем репо, я думаю, что ваша проблема с Cannot find module 'bcrypt'
была вызвана следующими причинами.
- Там нет
bcryptjs
пакет в вашем node_modules
, когда вы пишете только код var bcrypt = require('bcryptjs');
в своем проекте без использования bcrypt
. - Для установки пакета
bcrypt
требуется компилятор C / C ++ только с GlibC,но это может быть не в вашем Azure Linux, так что это может нарушить процесс установки npm.
Я предлагаю вам попытаться удалить зависимость bcrypt
, чтобы исправить проблему, потому что кажется, что вы это сделалине используйте его в своем проекте.
Любая проблема, пожалуйста, дайте мне знать.