Веб-приложение Azure не запускалось (NodeJS) из-за промежуточного программного обеспечения «bcript» - PullRequest
0 голосов
/ 17 апреля 2019

Я настраиваю новое веб-приложение с помощью Azure.Все пошло, найти, пока я не загрузил код с моего Github, и веб-сайт показывает эту ошибку: https://linuxserver.azurewebsites.net/

Это журнал: 2019-04-17T05: 40: 54.659490887Z Ошибка: не удается найти модуль 'bcrypt'

Вот мой код на Github https://github.com/phongluudn1997/express-testing

Это для нового сервера Linux на Azure, работающего под NoSQL с использованием MLAB, Nodejs, Express

1 Ответ

0 голосов
/ 17 апреля 2019

Я пытался клонировать репозиторий GitHub для запуска его на моем локальном компьютере, затем обнаружил две проблемы.

  1. Код const define = require('../../lib/define'); в routes\productAPI.js не может работать,поскольку отсутствует модуль ../../lib/define, информация об ошибке приведена ниже.

    internal/modules/cjs/loader.js:582
        throw err;
        ^
    
    Error: Cannot find module '../../lib/define'
    
  2. Учитывая безопасность ресурсов, никогда не передавайте код, включающий строку подключения реального ресурса, в публичное хранилище..


Обновление:

Существует два пакета bcrypt и bcrypt.js для хэширования паролей., которые будут добавлены в ваш файл package.json.Они совместимы в API, но bcrypt требует node-gyp с GlibC для компиляции при установке в Linux, bcrypt.js - это чистый Javascript-инструмент, который работает на 30% медленнее, чем bcrypt.

В соответствии с вышеприведенным и каталогом node_modules в вашем репо, я думаю, что ваша проблема с Cannot find module 'bcrypt' была вызвана следующими причинами.

  1. Там нет bcryptjsпакет в вашем node_modules, когда вы пишете только код var bcrypt = require('bcryptjs'); в своем проекте без использования bcrypt.
  2. Для установки пакета bcrypt требуется компилятор C / C ++ только с GlibC,но это может быть не в вашем Azure Linux, так что это может нарушить процесс установки npm.

Я предлагаю вам попытаться удалить зависимость bcrypt, чтобы исправить проблему, потому что кажется, что вы это сделалине используйте его в своем проекте.

Любая проблема, пожалуйста, дайте мне знать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...