Docker и Node js Ошибка: не удается найти модуль - PullRequest
0 голосов
/ 09 мая 2019

Что я тут не так делаю?

Код работает на моем компьютере, но когда я запускаю его в Docker, он не работает.

Я получаю следующую ошибку :

Ошибка: не удается найти модуль '/ usr / src / app / src / Presentation / viewModel / index' в Function.Module._resolveFilename (module.js: 538: 15) в Function.Module._load (module.js: 468: 25) в Module.require (module.js: 587: 17) по требованию (internal / module.js: 11: 18) в /usr/src/app/app.js:29: 18 в Array.forEach () в объекте.(/usr/src/app/app.js:28:26) в Module._compile (module.js: 643: 30) в Object.Module._extensions..js (module.js: 654: 10) в модуле.load (module.js: 556: 32) npm ERR!код ELIFECYCLE npm ERR!errno 1

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

На всякий случай здесьфайл docker:

FROM node:8.9-alpine

WORKDIR /usr/src/app

COPY package*.json ./
RUN npm install

COPY . .

EXPOSE 3000

CMD npm start

Вот мой файл app.js, который загружает неисправный модуль:

// Load routes and load dependices - Views and ViewModel
routesConfig.getRoutes().forEach(function(route){
  var routeTmp = require(path.join(__dirname,'src/Presentation/viewModel/'+route[1]));
  app.use(route[0], routeTmp);
});

Не удалось выполнить в требуемой строке ....

Когда я играю с необходимыми файлами, я получаю разные ошибки, я предполагаю, что module.export создает проблему, но я не знаю, как глубже в отладке.

var express = require('express');
var router = express.Router();
var serviceConfig = require('../../../config/service');
var navigation = require('../view/navigation/navigation');

// TODO
var Base = require('../../Core/Common/Base');
const base = new Base();

// Create service
const classTmp = base.getService().create(serviceConfig.getServices().baseService);
var user = classTmp.getAdmin();

/* GET home page. */
router.get('/', function(req, res, next) {

  res.render('index', {
      title: 'Expasdress',
      fields: navigation.getNavigation(),
      user: user
    }
  );

});

module.exports = router;

Вот проектструктура:

.
├── Dockerfile
├── Jenkinsfile
├── app.js
├── bin
│   └── www
├── config
│   ├── config.js
│   ├── createConfig.js
│   ├── domains.js
│   ├── routes.js
│   └── service.js
├── dive.log
├── k8s
│   ├── ingress
│   │   └── ingress.yaml
│   ├── pod
│   │   └── pod.yaml
│   ├── production
│   │   └── production.yaml
│   ├── rbac
│   │   └── fabric8-rbac.yaml
│   └── services
│       └── backend.yaml
├── package-lock.json
├── package.json
├── public
│   ├── icons
│   │   ├── add-thumbnail-placeholder.svg
│   │   ├── baseline-change_history-24px.svg
│   │   └── spartan-logo.png
│   ├── script
│   │   ├── app-view.js
│   │   ├── create-package.js
│   │   ├── sidebar.js
│   │   └── tag-input.js
│   └── stylesheets
│       ├── admin-base.css
│       ├── app.css
│       ├── base.css
│       ├── bootstrap
│       │   ├── css
│       │   │   ├── bootstrap-theme.css
│       │   │   └── bootstrap.css
│       │   ├── fonts
│       │   │   ├── glyphicons-halflings-regular.eot
│       │   │   ├── glyphicons-halflings-regular.svg
│       │   │   ├── glyphicons-halflings-regular.ttf
│       │   │   ├── glyphicons-halflings-regular.woff
│       │   │   └── glyphicons-halflings-regular.woff2
│       │   └── js
│       │       ├── bootstrap.js
│       │       ├── bootstrap.min.js
│       │       └── npm.js
│       ├── component
│       │   ├── buttons.css
│       │   ├── create-components.css
│       │   ├── create-content.css
│       │   └── tag-input.css
│       ├── create-package.css
│       ├── login.css
│       ├── main.css
│       ├── material.css
│       ├── packages.css
│       ├── sidebar.css
│       ├── standard-list.css
│       ├── statistics.css
│       └── style.css
├── scratch
│   ├── access_token
│   ├── email
│   ├── image
│   ├── name
│   ├── refresh_token
│   ├── scope
│   ├── surname
│   └── userToken
└── src
    ├── Core
    │   ├── Abstract
    │   │   ├── Domain.js
    │   │   └── Service.js
    │   ├── Common
    │   │   └── Base.js
    │   ├── Database
    │   │   └── SQLiteDatabase.js
    │   ├── Factory
    │   │   ├── DomainFactory.js
    │   │   └── ServiceFactory.js
    │   ├── Observer
    │   │   └── EventObserver.js
    │   └── RequestHandler
    │       └── RequestHandler.js
    ├── Models
    │   ├── Domain
    │   │   ├── Component
    │   │   │   └── NameComponentDomain.js
    │   │   ├── Create
    │   │   │   ├── CreateDomain.js
    │   │   │   ├── DeleteDomain.js
    │   │   │   ├── EditDomain.js
    │   │   │   └── ReleaseDomain.js
    │   │   ├── List
    │   │   │   └── ListDomain.js
    │   │   ├── Login
    │   │   │   └── LoginDomain.js
    │   │   ├── Search
    │   │   │   └── SearchDomain.js
    │   │   └── Statistics
    │   │       └── StatisticsDomain.js
    │   ├── Entity
    │   │   ├── Admin.js
    │   │   ├── Plan.js
    │   │   └── Request.js
    │   ├── Mapper
    │   ├── Repository
    │   │   └── StorageRepository.js
    │   └── Service
    │       ├── BaseService.js
    │       ├── CreateService.js
    │       └── GetService.js
    └── presentation
        ├── ObjectMapper
        ├── view
        │   ├── app.pug
        │   ├── appsku.pug
        │   ├── component
        │   │   ├── addEquipmentTags.pug
        │   │   ├── addTags.pug
        │   │   ├── description.pug
        │   │   ├── imageLoader.pug
        │   │   ├── name.pug
        │   │   ├── plan-cell.pug
        │   │   └── title.pug
        │   ├── create-package.pug
        │   ├── create.pug
        │   ├── error.pug
        │   ├── exercise.pug
        │   ├── index.pug
        │   ├── login.pug
        │   ├── main
        │   │   ├── baseLogin.pug
        │   │   └── baseNonLoged.pug
        │   ├── navigation
        │   │   └── navigation.js
        │   ├── nutrition-plan.pug
        │   ├── package.pug
        │   ├── statistics.pug
        │   ├── tag.pug
        │   ├── workout-plan.pug
        │   └── workout.pug
        └── viewModel
            ├── Component
            │   └── Name.js
            ├── app.js
            ├── appsku.js
            ├── create-app.js
            ├── create-package.js
            ├── exercise.js
            ├── index.js
            ├── login.js
            ├── nutrition-plan.js
            ├── package.js
            ├── statistics.js
            ├── tag.js
            ├── workout-plan.js
            └── workout.js

Я буду достаточно отчаянным, чтобы поставить свой код git: https://github.com/tech-387/spartan-apps-admin-console-frontend

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