Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Typescript 由于类型错误,Nodejs Docker容器中的无服务器Web包生成失败_Typescript_Docker_Webpack_Serverless Framework_Serverless Offline - Fatal编程技术网

Typescript 由于类型错误,Nodejs Docker容器中的无服务器Web包生成失败

Typescript 由于类型错误,Nodejs Docker容器中的无服务器Web包生成失败,typescript,docker,webpack,serverless-framework,serverless-offline,Typescript,Docker,Webpack,Serverless Framework,Serverless Offline,由于Web包生成过程中的类型错误(TS2322),My Serverless(sls)应用程序无法在Docker容器内生成。在本地构建时,不会出现错误,应用程序会按设计运行 错误示例: ERROR in /app/src/controllers/account.controller.ts ./src/controllers/account.controller.ts [tsl] ERROR in /app/src/controllers/account.controller.ts(19,9)

由于Web包生成过程中的类型错误(TS2322),My Serverless(sls)应用程序无法在Docker容器内生成。在本地构建时,不会出现错误,应用程序会按设计运行

错误示例:

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'.
我认为这可能与被分配为
/app
的容器的WORKDIR和webpack.config.js有关,但我不确定从哪里开始故障排除

背景:

我的无服务器应用程序使用npm脚本成功地在本地构建:“
export AWS\u REGION=us-east-1&&export IS\u ON\u LOCAL\u SERVER=true&&export TZ=UTC&&sls offline start--stage dev
”。当我在Docker容器中运行此脚本时,它会在webpack构建过程中导致大量类型错误

我的Dockerfile(如下)使用node:10.10,我在全局范围内安装了无服务器。我也尝试过使用node:8.16,但我得到了相同的构建错误(在容器中使用10.10时,我没有收到npm警告,因为我使用8.16时收到了npm警告)

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'

该错误是在映像生成期间发生的,还是在容器启动期间尝试运行
tsc
?它发生在生成之后。我运行docker compose up--build,它构建容器,记录“启动omp_后端…完成”,然后开始记录“无服务器:与Web包绑定…”。。。“。之后,我将获得包含生成错误列表的生成摘要。
卷:
将使用本地计算机上的任何内容覆盖映像中的代码(以及来自任意较早时间点的
节点模块
)。我建议删除它们,确保编译之类的事情在构建阶段发生,然后再试一次。谢谢。这解决了我的身材问题。似乎是
卷:-'/app/node\u modules'
导致了生成问题。非常感谢。