Проблемы развертывания приложения Azure API Node.js
Я тестирую службу приложений API Azure с помощью Node.js (Express, Swaggerize, Sequelize и SQLlite). Пока все работает на моей рабочей станции, но я столкнулся с некоторыми проблемами при попытке развернуть приложение.
Сначала я создал "контейнер" API-приложения и связал свое репозиторий VSTS Git с контейнером API. Все хорошо работает при отправке кода в репозиторий (автоматически контейнер получает все изменения за несколько секунд).
Но... (следующие вопросы)
- Как я могу разрешить свои зависимости Node? (до сих пор я вызывал "npm install" вручную через консоль контейнера. Я не хочу помещать свои пакеты в репозиторий GIT
Я не могу использовать диалект 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, чтобы узнать причину и как обойти это.