Как настроить Dockerfile для запуска babel после установки? - PullRequest
0 голосов
/ 11 апреля 2019

При запуске docker-compose up я продолжаю получать ошибку babel при попытке создать мой код nodejs, так как он написан на ES6 с импортом, а не const.

babel server.js -d dist && babel src -d dist / src

столпотворение: server.js не существует

Моя структура каталогов:

  • server.js

  • ЦСИ

    • все остальные файлы js

Как мне настроить свой Dockerfile, так как я явно не понимаю расположение файлов при создании контейнеров.

До сих пор я пытался переместить мое местоположение сборки в папку dist вместо сборки, но это было просто переименование файла. Я также попытался изменить COPY . на COPY server.js, и это тоже не удалось.

Dockerfile

FROM node:latest
WORKDIR /usr/src/app/api
COPY package.json /usr/src/app/api
RUN npm install
COPY . /usr/src/api
RUN npm run build
EXPOSE 4000
CMD npm run start

package.json

  "scripts": {
    "build": "babel server.js -d dist && babel src -d dist/src",
    "dev-start": "babel-watch server.js",
    "start": "npm run build && node dist/server.js"
  }

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

1 Ответ

0 голосов
/ 11 апреля 2019

Кажется, у вас неправильный путь в COPY команде

Ваш путь в WORKDIR /usr/src/app/api

Путь в COPY . /usr/src/api

Поставьте путь в качестве вашего путив workdir для команды копирования, подобной этой COPY . /usr/src/app/api

...