来自 docker 容器的 sailsjs 应用程序中的 ReferenceError

ReferenceError in sailsjs application from docker container

我正在开发 sails 应用程序在我的应用程序中,我使用了 mysqlmongo 适配器来连接不同的数据库。这两个数据库都托管在互联网上的某个地方。应用程序在我的本地环境中运行良好。将项目添加到 docker 容器后,我遇到了问题。我能够生成 docker 图像和 运行 docker 容器。当我调用不存在数据库连接的简单路由器时,它工作正常,但是当我调用 Testcontroller 时,它是来自 mongodb 的 return 数据。它给我 ReferenceError: Test is not define. 这里 Test 是 mongodb 的实体。

Docker文件:

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
 * @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'}

我发现了问题,我正在将 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