Проблемы развертывания приложения Azure API Node.js

Я тестирую службу приложений API Azure с помощью Node.js (Express, Swaggerize, Sequelize и SQLlite). Пока все работает на моей рабочей станции, но я столкнулся с некоторыми проблемами при попытке развернуть приложение.

Сначала я создал "контейнер" API-приложения и связал свое репозиторий VSTS Git с контейнером API. Все хорошо работает при отправке кода в репозиторий (автоматически контейнер получает все изменения за несколько секунд).

Но... (следующие вопросы)

  1. Как я могу разрешить свои зависимости Node? (до сих пор я вызывал "npm install" вручную через консоль контейнера. Я не хочу помещать свои пакеты в репозиторий GIT
  2. Я не могу использовать диалект SQLite в sequelize, потому что, хотя пакет находится внутри зависимостей моего приложения и в каталоге node_modules, мои приложения по-прежнему выдают исключение

    Wed Mar 02 2016 16:57:16 GMT+0000 (Coordinated Universal Time): Unaught exception: Error: Please install sqlite3 package manually
    at new ConnectionManager (D:\home\site\wwwroot\node_modules\sequelize\lib\dialects\sqlite\connection-manager.js:24:11)
    at new SqliteDialect (D:\home\site\wwwroot\node_modules\sequelize\lib\dialects\sqlite\index.js:12:28)
    at new Sequelize (D:\home\site\wwwroot\node_modules\sequelize\lib\sequelize.js:213:18)
    at Object.<anonymous> (D:\home\site\wwwroot\app\models\index.js:8:17)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (D:\home\site\wwwroot\app\app.js:11:14)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    at Module.require (module.js:367:17)
    at require (internal/module.js:16:19)
    at Object.<anonymous> (D:\home\site\wwwroot\server.js:3:1)
    at Module._compile (module.js:413:34)
    at Object.Module._extensions..js (module.js:422:10)
    at Module.load (module.js:357:32)
    at Function.Module._load (module.js:314:12)
    

Я что-то упускаю?

1 ответ

Решение

Кажется, что проблема была вызвана отсутствием пакета npm sqlite3, Таким образом, вам нужно установить пакет вручную, но установка не удастся, потому что установка для пакета sqlite3 необходимость gyp компилятор (согласно описанию пакета здесь), который не поддерживается в службе приложений Azure.

Вы можете обратиться к разделу Native Modules документа Использование модулей Node.js с приложениями Azure, чтобы узнать причину и как обойти это.

Другие вопросы по тегам