ReferenceError в приложении sailsjs из контейнера Docker - PullRequest
0 голосов
/ 28 июня 2019

Я работаю над приложением паруса. В своем приложении я использовал mysql и mongo adpater для связи с другой базой данных. Оба БД размещены где-то в Интернете. Приложение работает нормально в моей локальной среде. Я сталкиваюсь с проблемой, когда добавляю проект в Docker-контейнер. Я могу создать образ докера и запустить контейнер докера. Когда я вызываю простые маршрутизаторы, где соединение с БД не существует, оно работает нормально, но когда я звоню Testcontroller , который возвращает данные из mongodb. это дает мне ReferenceError: Test is not define. здесь Test это сущность mongodb.

DockerFile:

FROM node:latest
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY ["package.json", "./"]
RUN npm install --verbose --force && mv node_modules ../
COPY . .
EXPOSE 80
CMD npm start

TestController

/**
 * TestController
 * @description :: Server-side actions for handling incoming requests.
 *
 * @help        :: See https://sailsjs.com/docs/concepts/actions
 */

module.exports = {
  index: async function(req, res) {
    var data = await Test.find(); // Here I am getting error Test is not define.
    res.json(data);
  }
};

Routes.js

'GET /test': {controller:'test', action:'index'}

1 Ответ

0 голосов
/ 28 июня 2019

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

ниже Конфигурация работает для меня.

FROM node:latest
ENV NODE_ENV production
WORKDIR /usr/src/app
COPY ["package.json", "./"]
RUN npm install --verbose --force
COPY . .
EXPOSE 80
CMD npm start
...