Безсерверная сборка веб-пакетов в Dode-контейнере Nodejs не работает из-за ошибок типа - PullRequest
0 голосов
/ 27 сентября 2019

Моему приложению без сервера (sls) не удается построить внутри контейнера Docker из-за ошибок типа (TS2322) во время процесса сборки веб-пакета.При локальном построении ошибок нет, и приложение работает в соответствии с планом.

Пример ошибки:

ERROR in /app/src/controllers/account.controller.ts
 ./src/controllers/account.controller.ts
 [tsl] ERROR in /app/src/controllers/account.controller.ts(19,9)
 TS2322: Type 'string' is not assignable to type 'number'.

Я думаю, что это может иметь какое-то отношение к WORKDIR контейнера, назначенного как /app и webpack.config.js, но я не уверен, с чего начать устранение неполадок.

Справочная информация:

Мое приложение без сервера успешно создается локально с помощью сценария npm: "export AWS_REGION=us-east-1 && export IS_ON_LOCAL_SERVER=true && export TZ=UTC && sls offline start --stage dev".Когда я запускаю этот скрипт в Docker-контейнере, это приводит к многочисленным ошибкам Type во время процесса сборки webpack.

Мой Dockerfile (ниже) использует node: 10.10, и я устанавливаю без сервера глобально.Я также попытался использовать node: 8.16 и получаю те же ошибки сборки (используя 10.10 в контейнере, я не получаю предупреждений npm, поскольку получаю предупреждения npm с использованием 8.16).

Dockerfile:

# base image
FROM node:10.10

# update
RUN apt-get update && apt-get install -y --no-install-recommends vim && apt-get clean

# set working directory
WORKDIR /app

# add `/app/node_modules/.bin` to $PATH
ENV PATH /app/node_modules/.bin:$PATH

# add app
COPY . /app

# install 
COPY package.json /app/package.json
RUN npm install serverless -g && npm i

# start app
CMD npm run local-server

Docker-Compose:

version: '3.7'

services:

  backend:
    container_name: omp_backend
    build:
      context: ./backend
      dockerfile: Dockerfile
    expose:
      - 3001

    volumes:
      - './backend:/app'
      - '/app/node_modules'
    ports:
      - '3001:3001'
...